Ë
    [^(hïo ã                  óÈW  — d Z ddlmZ ddlZddlZddlZddlZddlZddlm	Z	m
Z
 ddlmZ ddlZddlmc mZ ddlZddlZddlmZ ddlmZmZmZmZ ddlmZ dd	lmZmZ e
rdd
lmZ ddlm Z  g d¢Z! ejD                  ejF                  d¬«      Z$�dÖd„Z%d„ Z& e$d«      �d×d„«       Z' e$d«      �d×d„«       Z( e$d«       ejR                  d«      �d×d„«       «       Z* e$d«       ejR                  d«      �d×d„«       «       Z+ e$d«      �dØ�d×d„«       Z, e$d«      �dØ�d×d„«       Z- e$d«      �dØ�d×d„«       Z. e$d «      �d×d!„«       Z/ e$d"«      �d×d#„«       Z0 e$d$«       ejb                  d%d%d%d&«      �dÙ�d×d'„«       «       Z2 ejb                  d%d%d(«      �d×d)„«       Z3�d×d*„Z4�d×d+„Z5 e$d,«      �d×d-„«       Z6 e$d.«      �d×d/„«       Z7 e$d0«      �d×d1„«       Z8 e$d2«      �d×d3„«       Z9 e$d4«       ejb                  d%d5«      �d×d6„«       «       Z: e$d7«       ejb                  d%d5«      �d×d8„«       «       Z; e$d9«      �d×d:„«       Z< e$d;«      �d×d<„«       Z= e$d=«      �d×d>„«       Z> e$d?«      �d×d@„«       Z? e$dA«       ejb                  d%d%d%dBdB«      �d×dC„«       «       Z@ e$dD«      �d×dE„«       ZA e$dF«      �d×dG„«       ZB e$dH«      �d×dI„«       ZC e$dJ«       ejR                  ddKdL¬M«      �d×dN„«       «       ZD e$dO«      �d×dP„«       ZE e$dQ«      �d×dR„«       ZF e$dS«      �d×dT„«       ZG e$dU«      �d×dV„«       ZH e$dW«      �d×dX„«       ZI e$dY«      �d×dZ„«       ZJ e$d[«      �d×d\„«       ZK e$d]«       ejR                  dd^d¬M«      �d×d_„«       «       ZL e$d`«      �d×da„«       ZM ejR                  d«      �d×db„«       ZN e$dc ejž                  ddde«      g¬f«       e$dg ejž                  dhdi«      g¬f«       e$dj ejž                  dkdldm¬n«      g¬f«      �dÚ�dÛdo„«       «       «       ZP e$dp«       ejb                  d%d5dq«      �d×dr„«       «       ZQ e$ds«      �d×dt„«       ZR e$du«      �d×dv„«       ZS e$dw«      �d×dx„«       ZT e$dy«       ejR                  d«      �d×dz„«       «       ZU e$d{«       ejR                  d«      �d×d|„«       «       ZV e$d}«       ejR                  d«      �d×d~„«       «       ZW e$d«       ejR                  dd«      �d×d€„«       «       ZX e$d�«       ejR                  d«       ejb                  d%d%d5d‚d%«      	 	 �d×dƒ„«       «       «       ZY e$d„«       ejR                  d«       ejb                  d%d%d%d5d5d5d%d5d5«	      	 	 �d×d…„«       «       «       ZZ e$d†«       ejR                  ddm¬‡«      �dØ�d×dˆ„«       «       Z[ e$d‰«       ejR                  d«       ejb                  d%d5d5«      �d×dŠ„«       «       «       Z\ e$d‹«       ejb                  d%dŒ«      �d×d�„«       «       Z] e$dŽ«       ejR                  d«      �d×d�„«       «       Z^ e$d�«      �d×d‘„«       Z_ e$d’«       ejb                  d%d5d5d5«      �dØ�d×d“„«       «       Z` e$d”«       ejb                  d%d%d5d5«      �dØ�d×d•„«       «       Za e$d–«      	 �dØ	 �d×d—„«       Zb e$d˜«       ejb                  d%dŒd5d5«      �dØ�d×d™„«       «       Zc e$dš«      	 �dØ	 �d×d›„«       Zd e$dœ«       ejb                  d%d5d5«      �dÜ�d×d�„«       «       Ze e$dž«       ejR                  d«       ejb                  d%d5d%«      �d×dŸ„«       «       «       Zf e$d «      �d×d¡„«       Zg e$d¢«      �dØ�d×d£„«       Zh e$d¤«      �d×d¥„«       Zi e$d¦«      �d×d§„«       Zj e$d¨«      �d×d©„«       Zk e$dª«       ejR                  d«      �d×d«„«       «       Zl e$d¬«       ejR                  d«      �d×d­„«       «       Zm e$d®«      �d×d¯„«       Zn e$d°«      �d×d±„«       Zo e$d²«      �d×d³„«       Zp e$d´«       ejb                  d%dBdB«      �d×dµ„«       «       Zq e$d¶«       ejR                  d«       ejb                  d%d&d‚«      	 �dÝ	 	 	 	 	 	 	 �dÞd·„«       «       «       Zr e$d¸«       ejb                  d%d5«      �d×d¹„«       «       Zs e$dº«       ejb                  d%d5dq«      �dØ�d×d»„«       «       Zt e$d¼«      �d×d½„«       Zu e$d¾«      d¿„ «       Zv e$dÀ ejž                  dÁejî                  jð                  jò                  jô                  dÂdm¬Ã«       e%dÁ«      g¬f«       e$dÄ ejž                  dÅejî                  jð                  jò                  jö                  dÆdm¬Ã«       e%dÅ«      g¬f«       e$dÇ ejž                  dÈejî                  jð                  jò                  jø                  dÉdm¬Ã«       e%dÈ«      g¬f«      dÊ„ «       «       «       Z}  e$dË«       e}dÌejî                  jð                  jò                  jô                  dÂd¬Ã«      «      Z~  e$dÍ«       e}dÎejî                  jð                  jò                  jö                  dÆd¬Ã«      «      Z  e$dÏ«       e}dÐejî                  jð                  jò                  jø                  dÉd¬Ã«      «      Z€ e$dÑ ejž                  dÒejî                  jð                  jò                  jô                  «       e%dÒ«      g¬f«       e$dÓ ejž                  dÔejî                  jð                  jò                  jö                  «       e%dÔ«      g¬f«       e$dÕ ejž                  dÖejî                  jð                  jò                  jø                  «       e%dÖ«      g¬f«      d×„ «       «       «       Z� e$dØ ejž                  dÙdÚejî                  jð                  jò                  jô                  «       e%dÙ«      g¬f«       e$dÛ ejž                  dÜdÚejî                  jð                  jò                  jö                  «       e%dÜ«      g¬f«       e$dÝ ejž                  dÞdÚejî                  jð                  jò                  jø                  «       e%dÞ«      g¬f«       e$dß ejž                  dàdáejî                  jð                  jò                  jô                  e~«       e%dà«      g¬f«       e$dâ ejž                  dãdáejî                  jð                  jò                  jö                  e«       e%dã«      g¬f«       e$dä ejž                  dådáejî                  jð                  jò                  jø                  e€«       e%då«      g¬f«      �dØdæ„«       «       «       «       «       «       Z‚�dßdç„Zƒdè„ Z„ e$dé«      �d×dê„«       Z…�dàdë„Z† e$dì«       e$dí«       e$dî«      �d×dï„«       «       «       Z‡ e$dð«       e$dñ«       e$dò«      �d×dó„«       «       «       Zˆ e$dô«      	 	 	 	 	 	 	 	 	 	 �dádõ„«       Z‰ e$dö ejž                  d÷dÉdø«       e%d÷«      g¬f«       e$dù ejž                  dúdûdø«       e%dú«      g¬f«       e$dü ejž                  dýdþdø«       e%dý«      g¬f«       e$dÿ ejž                  �d dÉ�d«       e%�d «      g¬f«       e$�d ejž                  �ddû�d«       e%�d«      g¬f«       e$�d ejž                  �ddþ�d«       e%�d«      g¬f«      �dâ�d„«       «       «       «       «       «       ZŠ e$�d«      	 	 �d×�d„«       Z‹ e$�d	«      �d×�d
„«       ZŒ e$�d«      �d„ «       Z��d„ ZŽ�dã�d„Z� e$�d«      �d×�d„«       Z� e$�d«       ejR                  dd«      �d×�d„«       «       Z‘ e$�d«       ejR                  dd«      e��d×�d„«       «       «       Z’ e$�d«       ejR                  dd«      �d×�d„«       «       Z“�d×�d„Z” e$�d«       ejR                  dd«      �d×�d„«       «       Z•�d×�d„Z– e$�d«       ejR                  dd«      e��d×�d„«       «       «       Z— e$�d«       ejR                  dd«      e��d×�d„«       «       «       Z˜ e$�d«      �d×�d „«       Z™ e$�d!«      �d×�d"„«       Zš e$�d#«      �d×�d$„«       Z› e$�d%«       eŽ�d&«      �d×�d'„«       «       Zœ e$�d(«       eŽ�d&«      �d×�d)„«       «       Z� e$�d*«       eŽ�d&«      �d×�d+„«       «       Zž e$�d,«      �d×�d-„«       ZŸ e$�d.«      �d×�d/„«       Z  e$�d0«      �d×�d1„«       Z¡ e$�d2«       ejb                  d%d%d%d5«      �dä�d×�d3„«       «       Z¢ e$�d4«       ejb                  d%d5dq«      �dØ�d×�d5„«       «       Z£ e$�d6«       ejb                  d%d5d5«      �d×�d7„«       «       Z¤ e$�d8«       ejb                  d%d%d%dŒdŒdŒd5dŒd5d5d5d5d5«      	 �dØ	 �d×�d9„«       «       Z¥ e$�d:«       ejb                  d%d%d%dŒd(dŒd5«      	 	 �d×�d;„«       «       Z¦ e$�d<«       ejb                  d%d%d%dŒdŒdŒd5dŒd5«	      	 	 �d×�d=„«       «       Z§ e$�d>«       ejb                  d%d%d%dŒd%dŒd5«      	 	 �d×�d?„«       «       Z¨ e$�d@«       ejb                  d%d%d%dŒd%dŒd5«      	 	 �d×�dA„«       «       Z© e$�dB«       ejb                  d%d%d%dŒd%dŒd5«      	 	 �d×�dC„«       «       Zª e$�dD«       ejb                  d%d%d%dŒdŒdŒd5dŒ«      	 	 �d×�dE„«       «       Z« e$�dF«       ejb                  d%d%d%dŒdŒdŒd5dŒ«      	 	 �d×�dG„«       «       Z¬ e$�dH«       ejb                  d%d%d%dŒdŒdŒd5dŒ«      	 	 �d×�dI„«       «       Z­ e$�dJ«       ejb                  d%d%d%d%d%d5d&d&d5«	      	 	 �d×�dK„«       «       Z® e$�dL«       ejR                  ddmdmdm«       ejb                  d%dŒd%d%d&«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 �då�dM„«       «       «       Z¯ e$�dN«       ejR                  ddmdmdm«       ejb                  d%dŒd%d%d&d‚«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 �dæ�dO„«       «       «       Z° e$�dP«       ejb                  d%d%d%d%d%d‚d&d&d‚«	      	 	 	 	 	 	 	 	 	 	 �dç�dQ„«       «       Z± e$�dR«       ejb                  d%d5d5d5«      �d×�dS„«       «       Z² e$�dT«       ejR                  d«       ejb                  d%dBdBdB«      �d×�dU„«       «       «       Z³ e$�dV«       ejR                  d«      �d×�dW„«       «       Z´ e$�dX«       ejb                  d%d5d%«      �d×�dY„«       «       Zµ e$�dZ«      �d×�d[„«       Z¶ e$�d\«      �d×�d]„«       Z· e$�d^«      �d×�d_„«       Z¸ e$�d`«       ejb                  d%d%d‚d‚«      	 �dè	 �d×�da„«       «       Z¹ e$�db«      �d×�dc„«       Zº e$�dd«       ejb                  d%d%d5d&«      �d×�de„«       «       Z» e$�df«      �d×�dg„«       Z¼ e$�dh«      �d×�di„«       Z½ e$�dj«      �d×�dk„«       Z¾ e$�dl«      �d×�dm„«       Z¿ e$�dn«      �d×�do„«       ZÀ e$�dp«      �d×�dq„«       ZÁ e$�dr«      �d×�ds„«       ZÂ e$�dt«      �d×�du„«       ZÃ e$�dv«       ejb                  d%d%«      �d×�dw„«       «       ZÄ e$�dx«       ejb                  d%d%«      �d×�dy„«       «       ZÅ e$�dz«      �dé�d×�d{„«       ZÆ e$�d|«       ejR                  dd«      �d×�d}„«       «       ZÇ e$�d~«      �dé�d×�d„«       ZÈ e$�d€«       ejR                  dd«      �d×�d�„«       «       ZÉ e$�d‚«       ejR                  d«       ejb                  d%dŒd5«      �d×�dƒ„«       «       «       ZÊ e$�d„«       ejR                  d«       ejb                  d%dŒd5«      �d×�d…„«       «       «       ZË e$�d†«       ejR                  d«       ejb                  d%d%d5«      �d×�d‡„«       «       «       ZÌ e$�dˆ«      �d×�d‰„«       ZÍ e$�dŠ«       e$�d‹«       ejb                  d%d&d5«      �d×�dŒ„«       «       «       ZÎ e$�d� ejž                  �d�«      g¬f«       e$�dŽ ejž                  �dŽ«      g¬f«       e$�d� ejž                  �d�«      g¬f«       e$�d� ejž                  �d�«      g¬f«       e$�d‘ ejž                  �d‘«      g¬f«       e$�d’ ejž                  �d’«      g¬f«      �dÖ�d“„«       «       «       «       «       «       ZÏ e$�d”«       ejb                  d%dBdŒd5d%«      �dØ�d×�d•„«       «       ZÐ e$�d–«       ejb                  d%d%d%d5«      �d×�d—„«       «       ZÑ e$�d˜«       ejb                  d%d5d5«      �d×�d™„«       «       ZÒ e$�dš«       ejb                  d%d5d5d5«      �d×�d›„«       «       ZÓ e$�dœ«       e�d�«      �d×�dž„«       «       ZÔ e$�dŸ«       e�d�«      �d×�d „«       «       ZÕ e$�d¡«       e�d�«      �d×�d¢„«       «       ZÖ e$�d£«       e�d�«      �d×�d¤„«       «       Z× e$�d¥«       e�d�«      �d×�d¦„«       «       ZØ e$�d§«       e�d�«      �d×�d¨„«       «       ZÙ e$�d©«       e�d�«      �d×�dª„«       «       ZÚ e$�d««       e�d�«      �d×�d¬„«       «       ZÛ e$�d­«       e�d�«      �d×�d®„«       «       ZÜ e$�d¯«       ejb                  d%d5d%d%d%d%«      	 	 �dê	 �d×�d°„«       «       ZÝ e$�d±«       ejb                  d%d5d%d%d%d%«      	 	 	 	 	 �dë	 �d×�d²„«       «       ZÞ e$�d³«      	 �dÝ	 �d×�d´„«       Zß e$�dµ«      �d×�d¶„«       Zà e$�d·«      	 �dì	 �d×�d¸„«       Zá e$�d¹«      �dé�d×�dº„«       Zâ e$�d»«       ejb                  d%d5d%d%d%«      �dÝ�d×�d¼„«       «       Zã e$�d½«       ejb                  d%d5d%d%d%d%«      	 	 	 	 	 �dë	 �d×�d¾„«       «       Zä e$�d¿«      	 �dÝ	 �d×�dÀ„«       Zå e$�dÁ«      �d×�dÂ„«       Zæ e$�dÃ«       ejb                  d%d5d%d%d%«      �dÝ�d×�dÄ„«       «       Zç e$�dÅ«       ejb                  d%d5d%d%d%d%«      	 	 	 	 	 �dë	 �d×�dÆ„«       «       Zè e$�dÇ«      	 �dÝ	 �d×�dÈ„«       Zé e$�dÉ«      	 �dÝ	 �d×�dÊ„«       Zê e$�dË«      	 	 	 	 	 �dë	 �d×�dÌ„«       Zë e$�dÍ«      	 �dÝ	 �d×�dÎ„«       Zì e$�dÏ«      �d×�dÐ„«       Zí e$�dÑ«      �d×�dÒ„«       Zî e$�dÓ«       ejR                  d«       ejb                  d%d&d&«      �dí�dÔ„«       «       «       Zï e$�dÕ«       ejR                  d«       ejb                  d%«      �d×�dÖ„«       «       «       Zð e$�d×«       ejR                  dd^d¬M«       ejb                  d%«      �d×�dØ„«       «       «       Zñ e$�dÙ«       ejb                  d%«      �d×�dÚ„«       «       Zò e$�dÛ«       ejb                  d%d&«      �d×�dÜ„«       «       Zó e$�dÝ«       ejb                  d%d&«      �d×�dÞ„«       «       Zô e$�dß«      �d×�dà„«       Zõ e$�dá«       ejb                  d%d5«      �d×�dâ„«       «       Zö e$�dã«       ejb                  d%d5d5dq«      �dØ�d×�dä„«       «       Z÷ e$�då«      �d×�dæ„«       Zø e$�dç«       ejb                  d%d5d5d5d5dq«      �dØ�d×�dè„«       «       Zù e$�dé«      �d×�dê„«       Zú e$�dë«      �d×�dì„«       Zû e$�dí«      �d×�dî„«       Zü e$�dï«      	 �dé	 �d×�dð„«       Zý e$�dñ«       ejb                  d%d5«      �d×�dò„«       «       Zþ e$�dó«       ejb                  d%d5«      �d×�dô„«       «       Zÿ	 	 �dé	 �d×�dõ„�Z  ejb                  d%d%d%d5d5d&d5d5d5«	      	 	 �d×�dö„«       �Z ejb                  d%d%d%d%d5d5d&d5d5«	      	 	 �d×�d÷„«       �Z e$�dø«      �d×�dù„«       �Z e$�dú«      �d×�dû„«       �Z e$�dü ejž                  �dý«       e%�dþ«      g¬f«       e$�dÿ ejž                  �d «       e%�d«      g¬f«       e$�d ejž                  �d«       e%�d«      g¬f«      �dî�d„«       «       «       �Z e$�d«       ejb                  d%d5«      �d×�d„«       «       �Z e$�d«      �d×�d	„«       �Z e$�d
«       ejb                  d%d5«      �d×�d„«       «       �Z e$�d«       ejb                  d%d%d5«      �d×�d„«       «       �Z	 e$�d«       ejb                  d%d%d5dBd%«      	 	 �d×�d„«       «       �Z
 e$�d«      �d×�d„«       �Z e$�d«      �d×�d„«       �Z e$�d«      �d×�d„«       �Z e$�d«      �d×�d„«       �Z e$�d«      	 	 	 	 �dï	 �d×�d„«       �Z e$�d«      	 	 	 	 �dï	 �d×�d„«       �Z e$�d«       ejb                  d%d&d&d5dq«      �d×�d„«       «       �Z e$�d«      �dä�d×�d„«       �Z e$�d «       ejb                  d%«      �d×�d!„«       «       �Z e$�d"«       ejb                  d%«      �d×�d#„«       «       �Z e$�d$«       ejR                  ddmdm«       ejb                  d%d5d5«      �d×�d%„«       «       «       �Z e$�d&«       ejb                  d%«      �d×�d'„«       «       �Z e$�d(«      �dØ�d×�d)„«       �Z e$�d*«       ejb                  d%«      �d×�d+„«       «       �Z e$�d,«      �d×�d-„«       �Z e$�d.«      �d×�d/„«       �Z e$�d0«       ejb                  d%d5d5d5«      �d×�d1„«       «       �Z e$�d2«       ejb                  d%d%d‚«      	 	 	 	 	 	 	 	 �dð�d3„«       «       �Z e$�d4«       ejb                  d%d%d‚«      	 	 	 	 	 	 	 	 �dð�d5„«       «       �Z e$�d6«       ejb                  d%d5d%d%«      �d×�d7„«       «       �Z e$�d8«       ejb                  d%d5d%d%«      �d×�d9„«       «       �Z e$�d:«      �d×�d;„«       �Z  e$�d<«      �d×�d=„«       �Z! e$�d>«      �d×�d?„«       �Z" e$�d@«      e��d×�dA„«       «       �Z# e$�dB«      �d×�dC„«       �Z$ e$�dD«       ejb                  d%d5d%d%«      �dÝ�d×�dE„«       «       �Z% ejb                  d%dŒd5d5«      �d×�dF„«       �Z& e$�dG«      �d×�dH„«       �Z' e$�dI«      �d×�dJ„«       �Z( e$�dK«      �d×�dL„«       �Z) e$�dM«      �d×�dN„«       �Z* e$�dO«       ejb                  d%dŒd5«      �d×�dP„«       «       �Z+ e$�dQ«      �d×�dR„«       �Z, e$�dS«      	 	 �d×�dT„«       �Z- e$�dU«      �d×�dV„«       �Z. e$�dW«      �d×�dX„«       �Z/ e$�dY«      �d×�dZ„«       �Z0 e$�d[«      �d×�d\„«       �Z1 e$�d]«       ejb                  d%d%dŒd‚d%«      	 	 	 	 	 	 	 	 	 	 	 	 �dñ�d^„«       «       �Z2 e$�d_«       ejb                  d%d&dŒd‚d%«      	 	 	 	 	 	 	 	 	 	 	 	 �dò�d`„«       «       �Z3 e$�da«       ejb                  d%d%dŒd‚d%«      	 	 	 	 	 	 	 	 	 	 	 	 �dó�db„«       «       �Z4 e$�dc«       ejb                  d%d%d5«      �dô�d×�dd„«       «       �Z5 e$�de«       ejb                  d%dŒd‚«      �dõ�d×�df„«       «       �Z6 e$�dg«       ejb                  d%d5d‚d%«      	 �dê	 �d×�dh„«       «       �Z7 e$�di«      �d×�dj„«       �Z8 e$�dk«       ejb                  d%d(«      �dØ�dö�dl„«       «       �Z9 e$�dm«      �d×�dn„«       �Z: e$�do«       ejb                  d%d(«      �d÷�dø�dp„«       «       �Z; e$�dq«       ejR                  ddmdmdm«       ejb                  d%d5d%d%d&d5«      	 	 �d×�dr„«       «       «       �Z< e$�ds«       ejb                  d%d%d5«      �d×�dt„«       «       �Z= e$�du«      �d×�dv„«       �Z> e$�dw«      �d×�dx„«       �Z? e$�dy«      �d×�dz„«       �Z@ e$�d{«      �d×�d|„«       �ZA e$�d}«      �d×�d~„«       �ZB�d×�d„�ZC�d×�d€„�ZD e$�d�«       ejb                  d%d%d5d‚«      �d×�d‚„«       «       �ZE e$�dƒ«       ejb                  d%d%d5«      �d×�d„„«       «       �ZF e$�d…«       ejR                  d«       ejb                  d%d%dŒd5«      �dØ�d×�d†„«       «       «       �ZG e$�d‡«      �d×�dˆ„«       �ZH e$�d‰«      �d×�dŠ„«       �ZI e$�d‹«      �d×�dŒ„«       �ZJ e$�d�«       ejb                  d%d‚d5d%d%d%d%«      	 	 	 	 	 	 �dù	 	 	 �dú�dŽ„«       «       �ZK e$�d�«      �d×�d�„«       �ZL e$�d‘«      �d×�d’„«       �ZM e$�d“«       ejb                  d%dBdB«      �d×�d”„«       «       �ZN e$�d•«       ejb                  d%d%«      �d×�d–„«       «       �ZO e$�d—«      �dØ�d×�d˜„«       �ZP e$�d™«       ejb                  d%dŒdŒ«      �d×�dš„«       «       �ZQ e$�d›«       ejb                  d%d%d5«      �dØ�d×�dœ„«       «       �ZR e$�d�«      	 	 �dû	 �d×�dž„«       �ZS�d×�dŸ„�ZT e$�d «      �d×�d¡„«       �ZU e$�d¢«      �d×�d£„«       �ZV e$�d¤«      �dØ�d×�d¥„«       �ZW e$�d¦«      �d×�d§„«       �ZX e$�d¨«      �d×�d©„«       �ZY e$�dª«      �d×�d«„«       �ZZ e$�d¬«      �d×�d­„«       �Z[ e$�d®«      �dØ�d×�d¯„«       �Z\ e$�d°«      �d×�d±„«       �Z] e$�d²«      �d×�d³„«       �Z^ e$�d´«      �d×�dµ„«       �Z_ e$�d¶«      	 	 	 	 �dü�d·„«       �Z` e$�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Å„«       �Zg e$�dÆ«      �dþ�dÇ„«       �Zh e$�dÈ«      �d×�dÉ„«       �Zi e$�dÊ«      �dÿ�dË„«       �Zj e$�dÌ«      �d×�dÍ„«       �Zk e$�dÎ«       e$�dÏ«      �d �dÐ„«       «       �Zl e$�dÑ«       e$�dÒ«      �d �dÓ„«       «       �Zm e$�dÔ«      �d�dÕ„«       �Zny(  zhThis file exports ONNX ops for opset 9.

Opset 9 is supported by ONNX release 1.4.1
release on 01/23/19
é    )ÚannotationsN)ÚCallableÚTYPE_CHECKING)Ú
deprecated)Ú_C)Ú
_constantsÚ_type_utilsÚerrorsÚsymbolic_helper)ÚGLOBALS)Ú	jit_utilsÚregistration)ÚSequence)ÚNumber(  ÚabsÚacosÚaddÚaddcmulÚaddmmÚaliasÚamaxÚaminÚaminmaxÚarangeÚargmaxÚargminÚ
as_stridedÚ	as_tensorÚasinÚatanÚatan2ÚbaddbmmÚ
batch_normÚ	bernoulliÚbitwise_notÚ
bitwise_orÚbmmÚbroadcast_tensorsÚbroadcast_toÚ	bucketizeÚcatÚcdistÚceilÚ	clamp_maxÚ	clamp_minÚclampÚcloneÚconstant_pad_ndÚ
contiguousÚconv_tbcÚconv_transpose1dÚconv_transpose2dÚconv_transpose3dÚconv1dÚconv2dÚconv3dÚconvert_element_typeÚconvolutionÚcosÚcosine_similarityÚcrossÚcumsumÚdetachÚdimÚdivÚdotÚdropoutÚeluÚembedding_bagÚ	embeddingÚ
empty_likeÚemptyÚeqÚerfÚexpÚ	expand_asÚexpandÚeyeÚfillÚflattenÚfloor_divideÚfloorÚfloordivÚfrobenius_normÚ	full_likeÚfullÚgatherÚgeÚgeluÚget_pool_ceil_paddingÚgluÚ
group_normÚgtÚhann_windowÚ
hardshrinkÚhardsigmoidÚ	hardswishÚhardtanhÚ	index_addÚ
index_copyÚ
index_fillÚ	index_putÚindex_selectÚindexÚinstance_normÚis_floating_pointÚ	is_pinnedÚisnanÚitemÚkl_divÚ
layer_normÚleÚ
leaky_reluÚlerpÚliftÚlinalg_crossÚlinalg_matrix_normÚlinalg_normÚlinalg_vector_normÚlinearÚlinspaceÚlog_sigmoidÚlog_softmaxÚlogÚlog10Úlog1pÚlog2Úlogical_andÚlogical_notÚ
logical_orÚlogical_xorÚlogitÚ	logsumexpÚ	lstm_cellÚlstmÚltÚmasked_fillÚmasked_fill_ÚmatmulÚmax_pool1d_with_indicesÚmax_pool2d_with_indicesÚmax_pool3d_with_indicesÚmaxÚmaximumÚmeshgridÚminÚminimumÚmishÚmmÚmovedimÚmse_lossÚmulÚmultinomialÚmvÚnarrowÚnative_layer_normÚneÚnegÚ	new_emptyÚnew_fullÚnew_onesÚ	new_zerosÚnonzero_numpyÚnonzeroÚnormÚnumelÚnumpy_TÚone_hotÚ	ones_likeÚonesÚonnx_placeholderÚpadÚpairwise_distanceÚpermuteÚpixel_shuffleÚpixel_unshuffleÚpowÚpreluÚprim_constant_chunkÚprim_constant_splitÚprim_constantÚ	prim_dataÚprim_deviceÚ
prim_dtypeÚprim_ifÚprim_layoutÚprim_list_constructÚprim_list_unpackÚ	prim_loopÚprim_maxÚprim_minÚ
prim_shapeÚprim_tolistÚprim_tuple_constructÚ	prim_typeÚprim_unchecked_castÚprim_uninitializedÚ	rand_likeÚrandÚrandint_likeÚrandintÚ
randn_likeÚrandnÚ
reciprocalÚreflection_padÚreluÚrelu6Ú	remainderÚrepeat_interleaveÚrepeatÚreplication_padÚ
reshape_asÚreshapeÚrollÚrreluÚrsqrtÚrsubÚscalar_tensorÚscatter_addÚscatterÚselectÚseluÚsigmoidÚsignÚsiluÚsinÚsizeÚsliceÚsoftmaxÚsoftplusÚ
softshrinkÚsortÚsplit_with_sizesÚsplitÚsqrtÚsquareÚsqueezeÚstackÚstd_meanÚstdÚsubÚtÚtakeÚtanÚtanhÚ
tanhshrinkÚtensorÚ	thresholdÚtoÚtopkÚ	transposeÚtrue_divideÚtype_asÚunbindÚunfoldÚunsafe_chunkÚunsafe_split_with_sizesÚunsafe_splitÚ	unsqueezeÚunsupported_complex_operatorsÚnoop_complex_operatorsÚunusedÚvar_meanÚvarÚview_asÚviewÚwhereÚwrap_logical_op_with_cast_toÚwrap_logical_op_with_negationÚ
zeros_likeÚzerosÚzeroé	   )Úopsetc                ó   ‡ — ˆ fd„}|S )z5Exports the function in the current global namespace.c                óL   •— | t        «       ‰<   t        j                  ‰«       | S ©N)ÚglobalsÚ__all__Úappend)ÚfuncÚnames    €úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/onnx/symbolic_opset9.pyÚwrapperz_export.<locals>.wrapper4  s   ø€ ØŒ‹	�$‰Ü�‰�tÔØˆó    © )r  r  s   ` r  Ú_exportr!  1  s   ø€ ôð
 €Nr  c                ó‚   — | j                  d«      }|j                  t        j                  j	                  «       «       |S )z%Represents "missing" optional inputs.úprim::Constant)ÚopÚsetTyper   ÚOptionalTypeÚofTensor)ÚgÚns     r  r  r  <  s/   € à	�‰ÐÓ€AØ‡I�IŒb�o‰o×&Ñ&Ó(Ô)Ø€Hr  zaten::_shape_as_tensorc                ó&   — | j                  d|«      S ©NÚShape©r$  ©r(  Úinputs     r  Ú_shape_as_tensorr0  C  ó   € à�4‰4�˜ÓÐr  zaten::_reshape_from_tensorc                óh   — t        |t        «      r | j                  dg|¢­ddiŽ}t        | ||«      S )NÚConcatÚaxis_ir   )Ú
isinstanceÚlistr$  r×   )r(  r/  Úshapes      r  Ú_reshape_from_tensorr8  H  s5   € ä�%œÔØ�—‘�XÐ0 Ò0¨aÑ0ˆÜ�1�e˜UÓ#Ð#r  zaten::reshapeTc                ó0   — t        j                  | ||«      S r  )r   Ú_reshape_helper©r(  Úselfr7  s      r  r×   r×   O  s   € ô ×*Ñ*¨1¨d°EÓ:Ð:r  zaten::reshape_asc                ó@   — | j                  d|«      }t        | ||«      S r+  ©r$  r×   ©r(  r<  Úotherr7  s       r  rÖ   rÖ   U  s#   € ð �D‰D�˜%Ó €EÜ�1�d˜EÓ"Ð"r  z	aten::addc                ó.  — t        j                  |«      r.t        j                  |«      rt        j                  dddd|«      S |r>t        j                  t        j
                  |«      «      dk7  r| j                  d||«      }| j                  d||«      S )a¯  
    This function takes the add function and returns the corresponding ONNX operator.

    This function is not meant to be called directly by the user.

    Args:
        g (GraphContext): The graph context.
        self (Tensor): The first operand.
        other (Tensor): The second operand.
        alpha (float, optional): The scaling factor for the second operand. Defaults to None.

    Returns:
        ONNX operator.
    ÚAddr  é   z)Add between list of tensors not supportedé   ÚMul)r   Ú	_is_valueÚ_is_tensor_listÚ _onnx_opset_unsupported_detailedÚ_scalarÚ_maybe_get_scalarr$  ©r(  r<  r@  Úalphas       r  r   r   \  s†   € ô  × Ñ  Ô&¬?×+JÑ+JÈ4Ô+PÜ×?Ñ?Ø�1�bÐEÀtó
ð 	
ñ ”×(Ñ(¬×)JÑ)JÈ5Ó)QÓRÐVWÒWØ—‘�U˜E 5Ó)ˆØ�4‰4��t˜UÓ#Ð#r  z	aten::subc                ó¨   — |r>t        j                  t        j                  |«      «      dk7  r| j                  d||«      }| j                  d||«      S )aÎ  
    Consumes sub function and returns the corresponding ONNX operator.

    This function is not meant to be called directly by the user.

    Args:
        g (GraphContext): The graph context.
        self (Tensor): The first operand.
        other (Tensor): The second operand.
        alpha (Optional[Tensor]): A scaling factor to apply to the second operand.
            If `alpha` is not provided, it defaults to 1.

    Returns:
        ONNX operator
    rD  rE  ÚSub)r   rI  rJ  r$  rK  s       r  ró   ró   u  sJ   € ñ" ”×(Ñ(¬×)JÑ)JÈ5Ó)QÓRÐVWÒWØ—‘�U˜E 5Ó)ˆØ�4‰4��t˜UÓ#Ð#r  z
aten::rsubc                ó    — t        | |||¬«      S )N)rL  )ró   rK  s       r  rÛ   rÛ   ‹  s   € äˆq�%˜ UÔ+Ð+r  z	aten::mulc                ó¢   — t        j                  |«      r(t        j                  |«      r| j                  d||«      S | j                  d||«      S )NÚAndrE  )r   Ú_is_boolr$  ©r(  r<  r@  s      r  rš   rš   �  sC   € ä×Ñ Ô%¬/×*BÑ*BÀ5Ô*Ià�t‰t�E˜4 Ó'Ð'à�t‰t�E˜4 Ó'Ð'r  z	aten::divc                óT   — t        |«      dk(  rt        | ||«      S t        | ||g|¢­Ž S ©Nr   )Úlenrþ   Ú_div_rounding_mode)r(  r<  r@  Úargss       r  rC   rC   ™  s0   € ä
ˆ4ƒy�A‚~Ü˜1˜d EÓ*Ð*ä! ! T¨5Ð8°4Ò8Ð8r  zaten::addcmulÚvÚfc                ó–   — | j                  dt        j                  |g«      ¬«      }t        | |t	        | t	        | ||«      |«      «      S ©NÚConstant©Úvalue_t)r$  Útorchrù   r   rš   )r(  r<  Útensor1Útensor2ÚvalueÚ
value_tenss         r  r   r   ¡  sB   € ð —‘�j¬%¯,©,¸°wÓ*?�Ó@€JÜˆq�$œ˜Aœs 1 g¨wÓ7¸ÓDÓEÐEr  Úsc                óœ   — |€t        | ||«      S |dk(  rt        | ||«      S |dk(  rt        | ||«      S t        j                  d|› d�|«      ‚)NrT   ÚtrunczUnsupported rounding mode: "z$". Expected None, "floor" or "trunc")rþ   Ú_floor_divideÚ_trunc_divider
   ÚSymbolicValueError)r(  r<  r@  Úrounding_modes       r  rW  rW  ¨  sh   € àÐÜ˜1˜d EÓ*Ð*Ø	˜'Ò	!Ü˜Q  eÓ,Ð,Ø	˜'Ò	!Ü˜Q  eÓ,Ð,ä×'Ñ'Ø*¨=¨/Ð9]Ð^Øó
ð 	
r  c                ó~  — | j                  d||«      }| j                  d|t        j                  j                  ¬«      }t        j
                  j                  |t        j
                  j                  «      }|t        j
                  j                  k7  r|t        j                  |«      sCt        j                  |«      r.| j                  d|t        j                  j                  ¬«      }|S | j                  d||j                  «       ¬«      }|S | j                  d|t        j                  j                  ¬«      }|S )NÚDivÚCast©Úto_i)r$  Ú_C_onnxÚTensorProtoDataTypeÚINT64r	   ÚJitScalarTypeÚ
from_valueÚ	UNDEFINEDr   Ú_is_fpÚFLOATÚ	onnx_type)r(  r<  r@  ÚoutÚscalar_types        r  ri  ri  ·  s  € Ø
�$‰$ˆu�d˜EÓ
"€Cð �$‰$ˆv�s¤×!<Ñ!<×!BÑ!Bˆ$Ó
C€Cô ×+Ñ+×6Ñ6ØŒk×'Ñ'×1Ñ1ó€Kð ”k×/Ñ/×9Ñ9Ò9Ü×%Ñ% dÔ+´×0FÑ0FÀuÔ0MØ—$‘$�v˜s¬×)DÑ)D×)JÑ)J�$ÓKˆCð €Jð —$‘$ØØØ ×*Ñ*Ó,ð ó ˆCð €Jð �d‰d�6˜3¤W×%@Ñ%@×%FÑ%FˆdÓGˆØ€Jr  c                ó  — t        j                  |«      st        j                  |«      rt        | ||«      }| j                  d|«      S | j                  d||«      }| j                  dt	        j
                  dt        j                  ¬«      ¬«      }| j                  dt        j                  | ||«      t        j                  | ||«      «      }| j                  d|| j                  d	||«      «      }| j                  d
|| j                  d| j                  d||«      «      «      }| j                  dt	        j
                  dt        j                  ¬«      ¬«      }	| j                  d	||	«      }
| j                  d||
«      S )NÚFloorrm  r]  r   ©Údtyper^  ÚXorrN  rE  rQ  ÚNotÚEqualrD  )r   rw  rþ   r$  r`  rù   Úint64Ú
_lt_helper)r(  r<  r@  rz  rC   r  ÚnegativeÚmodÚ
fixup_maskÚoneÚfixups              r  rh  rh  Ö  s7  € Ü×Ñ˜dÔ#¤×'=Ñ'=¸eÔ'DÜ˜!˜T 5Ó)ˆØ�t‰t�G˜SÓ!Ð!ð �d‰d�5˜$ Ó&ˆà�t‰t�J¬¯©°Q¼e¿k¹kÔ(JˆtÓKˆØ—4‘4ØÜ×&Ñ& q¨$°Ó5Ü×&Ñ& q¨%°Ó6ó
ˆð �d‰d�5˜$ §¡ U¨C°Ó 7Ó8ˆØ—T‘T˜% ¨1¯4©4°°q·t±t¸GÀSÈ$Ó7OÓ+PÓQˆ
à�d‰d�:¤u§|¡|°A¼U¿[¹[Ô'IˆdÓJˆØ—‘�U˜J¨Ó,ˆØ�t‰t�E˜3 Ó&Ð&r  zaten::floor_dividec                ó   — t        | ||«      S r  )ri  rS  s      r  rS   rS   î  s   € ô ˜˜D %Ó(Ð(r  zaten::floordivc                ó   — t        | ||«      S r  )rS   rS  s      r  rU   rU   ô  s   € ä˜˜4 Ó'Ð'r  zaten::true_dividec                ó  — t        j                  |«      st        j                  |«      r| j                  d||«      S t        j                  «       }t
        j                  j                  }|t        j                  u s|t        j                  u sJ ‚t        j                  «       t        j                  u rt
        j                  j                  }| j                  d||¬«      }| j                  d||¬«      }| j                  d||«      S )a  Division where both inputs are cast to floating types

    If both inputs are floating, performs div as usual
    If only one input is a floating type, the other input is cast to its type
    If neither input is a floating type, both inputs are cast to the default scalar type
    rm  rn  ro  )r   rw  r$  r`  Úget_default_dtyperq  rr  rx  ÚfloatÚdoubleÚDOUBLE)r(  r<  r@  r{  Úonnx_scalar_types        r  rþ   rþ   ù  sÕ   € ô ×Ñ˜dÔ#¤×'=Ñ'=¸eÔ'DØ�t‰t�E˜4 Ó'Ð'ô ×)Ñ)Ó+€KÜ×2Ñ2×8Ñ8ÐØœ%Ÿ+™+Ñ%¨¼¿¹Ñ)DÐDÐDÜ×ÑÓ ¤E§L¡LÑ0Ü"×6Ñ6×=Ñ=Ðà�4‰4�˜Ð#3ˆ4Ó4€DØ�D‰D�˜Ð%5ˆDÓ6€EØ�4‰4��t˜UÓ#Ð#r  zaten::reciprocalc                ó¨   — t        j                  |«      s,| j                  d|t        j                  j
                  ¬«      }| j                  d|«      S )Nrn  ro  Ú
Reciprocal)r   rw  r$  rq  rr  rx  ©r(  r<  s     r  rÎ   rÎ     sC   € ô ×!Ñ! $Ô'Ø�t‰t�F˜D¤w×'BÑ'B×'HÑ'HˆtÓIˆØ�4‰4�˜dÓ#Ð#r  z	aten::catÚic                óä  ‡— t        j                  |«      }g Š|D ]?  }t        j                  |«      rt        j                  |d«      sŒ/‰j	                  |«       ŒA t        ‰«      dkD  sJ ‚t        ˆfd„‰D «       «      sJ ‚|j                  «       j                  «        ‰D ]!  }|j                  «       j                  |«       Œ# t        j                  |«      } | j                  dg|¢­d|iŽS )a{  Implement concatenation of pytorch tensors in ONNX along the specified `dim` dimension.

    Parameters:
        g (jit_utils.GraphContext): Graph context.
        tensor_list (List[torch.Tensor]): List of tensors to concatenate.
        dim (int): Dimension along which to concatenate the tensors.

    Returns:
        ONNX graph node representing the concatenated tensor.
    r   c              3  óä   •K  — | ]g  }t        j                  ‰d    «      du xsG t        j                  |«      du xs. t        j                  |«      t        j                  ‰d    «      k(  –— Œi y­w©r   N)r   Ú_get_tensor_rank)Ú.0rô   Únonempty_tensorss     €r  ú	<genexpr>zcat.<locals>.<genexpr>6  s~   øè ø€ ò ð
 ô	 	×(Ñ(Ð)9¸!Ñ)<Ó=ÀÐEò 	AÜ×+Ñ+¨AÓ.°$Ð6ò	Aä×+Ñ+¨AÓ.Ü×+Ñ+Ð,<¸QÑ,?Ó@ñAó	Añùs   ƒA-A0r3  r4  )r   Ú_unpack_listÚ_is_constantÚ_get_tensor_dim_sizer  rV  ÚallÚnodeÚremoveAllInputsÚaddInputr$  )r(  Útensor_listrB   Útensorsrô   r›  s        @r  r+   r+     s   ø€ ô ×*Ñ*¨;Ó7€Gð ÐØò #ˆÜ×'Ñ'¨Ô*´?×3WÑ3WØˆqô4
ð Ø×Ñ Õ"ð#ô ÐÓ  1Ò$Ð$Ð$Üó ð
 "ôô ð ð ð ×ÑÓ×&Ñ&Ô(Øò 'ˆØ×ÑÓ×#Ñ# AÕ&ð'ô ×*Ñ*¨;Ó7€GØˆ1�4‰4�Ð/˜7Ò/¨3Ñ/Ð/r  zaten::stackc                ó¨   — t        j                  |«      D �cg c]  }t        j                  | ||g«      ‘Œ }} | j                  dg|¢­d|iŽS c c}w )Nr3  r4  )r   r�  Ú_unsqueeze_helperr$  )r(  r¤  rB   rô   Ú
unsqueezeds        r  rð   rð   E  s_   € ô
 !×-Ñ-¨kÓ:öàô 	×)Ñ)¨!¨Q°°Õ6ð€Jð ð ˆ1�4‰4�Ð2˜:Ò2¨cÑ2Ð2ùò	s   ˜Az
aten::listc                ó   — |S r  r   r”  s     r  Ú_listrª  O  ó   € à€Kr  zaten::mmc                ó~   — | j                  dt        j                  dg«      ¬«      }| j                  d|||dd¬«      S )Nr]  rD  r^  ÚGemmç        ç      ð?©Úbeta_fÚalpha_f©r$  r`  rù   )r(  r<  r@  ÚCs       r  r—   r—   T  s<   € ð 	
�‰ˆZ¤§¡¨q¨cÓ!2ˆÓ3€AØ�4‰4�˜˜e Q¨s¸Cˆ4Ó@Ð@r  z	aten::bmmc                ó(   — | j                  d||«      S ©NÚMatMulr-  rS  s      r  r'   r'   \  ó   € à�4‰4�˜$ Ó&Ð&r  zaten::matmulc                ó(   — | j                  d||«      S r¶  r-  rS  s      r  r�   r�   a  r¸  r  zaten::addmmrô   c           
     ó¢  — d }t        j                  |«      }t        j                  |«      }t        j                  |«      }	|�|}n	|�|}n|	�|	}t        j                  |«      }
t        j                  |«      }d„ }|�� ||
d«      s
 ||d«      �r| j                  d||«      }|}t        j                  |«      }t        j                  |«      }|dk7  rI| j                  dt        j                  ||j                  «       ¬«      ¬«      }| j                  d||«      }|dk7  r\| j                  dt        j                  t        j                  |«      |j                  «       ¬«      ¬«      }| j                  d||«      }| j                  d	||«      S | j                  d
|||t        j                  |«      t        j                  |«      ¬«      S )Nc                ó   — | d uxr | |k7  S r  r   )rY  Úus     r  Úis_not_none_norzaddmm.<locals>.is_not_none_norw  s   € Ø˜ˆ}Ò'  a¡Ð'r  é   r·  rD  r]  r~  r^  rE  rB  r­  r°  )r   Ú_try_get_scalar_typer™  r$  rI  r`  rù   r  )r(  r<  Úmat1Úmat2ÚbetarL  r{  Úself_scalar_typeÚmat1_scalar_typeÚmat2_scalar_typeÚ	mat1_rankÚ	mat2_rankr½  Úres1Úres2s                  r  r   r   f  sÂ  € ð €KÜ&×;Ñ;¸DÓAÐÜ&×;Ñ;¸DÓAÐÜ&×;Ñ;¸DÓAÐØÐ#Ø&‰Ø	Ð	%Ø&‰Ø	Ð	%Ø&ˆä×0Ñ0°Ó6€IÜ×0Ñ0°Ó6€Iò(ð ÑÙ˜	 1Ô%©¸ÀAÕ)Fà�t‰t�H˜d DÓ)ˆØˆä×'Ñ'¨Ó.ˆÜ×&Ñ& tÓ,ˆà�AŠ:Ø—D‘DØ¤E§L¡L°¸k×>OÑ>OÓ>QÔ$Rð ó ˆEð —4‘4˜˜t UÓ+ˆDØ�1Š9Ø—4‘4ØÜŸ™Ü#×+Ñ+¨DÓ1¸×9JÑ9JÓ9Lôð ó ˆDð —4‘4˜˜t TÓ*ˆDà�t‰t�E˜4 Ó&Ð&à�4‰4ØØØØÜ×&Ñ& tÓ,Ü×'Ñ'¨Ó.ð ó ð r  z	aten::negc                ó&   — | j                  d|«      S )NÚNegr-  r”  s     r  r    r    �  ó   € à�4‰4��tÓÐr  z
aten::sqrtc                óì  — t         j                  j                  |t         j                  j                  «      t         j                  j                  t         j                  j
                  t         j                  j                  t         j                  j                  t         j                  j                  hv r,| j                  d|t        j                  j                  ¬«      }| j                  d|«      S )Nrn  ro  ÚSqrt)r	   rt  ru  rv  ÚUINT8ÚINT8ÚINT16ÚINTrs  r$  rq  rr  rx  r”  s     r  rí   rí   ¢  s±   € ä× Ñ ×+Ñ+ØŒk×'Ñ'×1Ñ1óô 	×!Ñ!×'Ñ'Ü×!Ñ!×&Ñ&Ü×!Ñ!×'Ñ'Ü×!Ñ!×%Ñ%Ü×!Ñ!×'Ñ'ð
ñð �t‰t�F˜D¤w×'BÑ'B×'HÑ'HˆtÓIˆà�4‰4�˜ÓÐr  zaten::rsqrtc                óŠ   — | j                  dt        j                  t        j                  d«      |«      t        | |«      «      S )Nrm  rD  )r$  r   Ú_if_scalar_type_asr`  r¬   rí   r”  s     r  rÚ   rÚ   ³  s6   € à�4‰4ØŒ×1Ñ1´%·*±*¸Q³-ÀÓFÌÈQÐPTËóð r  z
aten::tanhg      €?é€   )ÚscaleÚ
zero_pointc                ó&   — | j                  d|«      S )NÚTanhr-  r”  s     r  r÷   r÷   º  s   € ð �4‰4�˜ÓÐr  z	aten::sinc                ó&   — | j                  d|«      S )NÚSinr-  r”  s     r  rä   rä   Á  rÌ  r  z	aten::cosc                ó&   — | j                  d|«      S )NÚCosr-  r”  s     r  r=   r=   Æ  rÌ  r  z	aten::tanc                ó&   — | j                  d|«      S )NÚTanr-  r”  s     r  rö   rö   Ë  rÌ  r  z
aten::asinc                ó&   — | j                  d|«      S )NÚAsinr-  r”  s     r  r   r   Ð  ó   € à�4‰4�˜ÓÐr  z
aten::acosc                ó&   — | j                  d|«      S )NÚAcosr-  r”  s     r  r   r   Õ  râ  r  z
aten::atanc                ó&   — | j                  d|«      S )NÚAtanr-  r”  s     r  r    r    Ú  râ  r  zaten::atan2c           
     óä  — | j                  d||«      }| j                  d|«      }| j                  dt        j                  d«      ¬«      }| j                  dt        j                  t        j                  «      ¬«      }| j                  d||«      }| j                  d|| j                  d||«      | j                  d	||«      «      }| j                  d
||«      }	| j                  d|	||«      }
|
S )Nrm  ræ  r]  r   r^  ÚGreaterÚWhererB  rN  ÚLess)r$  r`  rù   ÚmathÚpi)r(  r<  r@  Úsloper    Ú
const_zeroÚconst_piÚ"condition_second_or_third_quadrantÚsecond_third_quadrantÚcondition_14_or_23_quadrantÚresults              r  r!   r!   ß  s×   € ð �D‰D�˜˜eÓ$€EØ�4‰4�˜Ó€DØ—‘�j¬%¯,©,°q«/�Ó:€JØ�t‰t�J¬¯©´T·W±WÓ(=ˆtÓ>€Hà)*¯©¨i¸¸zÓ)JÐ&ØŸD™DØØ*Ø	�‰ˆU�D˜(Ó#Ø	�‰ˆU�D˜(Ó#ó	Ðð #$§$¡$ v¨u°jÓ"AÐØ�T‰T�'Ð6Ð8MÈtÓT€Fà€Mr  zaten::sigmoidg      p?c                ó&   — | j                  d|«      S )a  Converts the corresponding PyTorch function into ONNX operators.

    It is not meant to be called directly by a user.

    Args:
        g (jit_utils.GraphContext): Graph context.
        self (Tensor): the input tensor.
    Returns:
        ONNX operator
    ÚSigmoidr-  r”  s     r  rá   rá   õ  s   € ð �4‰4�	˜4Ó Ð r  z
aten::signc                ó&   — | j                  d|«      S )NÚSignr-  r”  s     r  râ   râ     râ  r  c                ó¼   — t        |«      t        |«      k(  sJ ‚t        |«      dk(  r |d   dk(  r|d   t        j                  k(  r|S | j                  d||||¬«      S )NrD  r   ÚSlice)Úaxes_iÚstarts_iÚends_i)rV  r   Ú	INT64_MAXr$  )r(  r/  ÚaxesÚstartsÚendss        r  Ú_slicer    s]   € äˆv‹;œ#˜d›)Ò#Ð#Ð#Ü
ˆ6ƒ{�aÒ˜F 1™I¨šN¨t°A©w¼*×:NÑ:NÒ/NØˆØ�4‰4�˜ t°fÀTˆ4ÓJÐJr  z	aten::sumÚ	ReduceSumÚsum)Údecoratez
aten::meanÚ
ReduceMeanÚmeanz
aten::prodÚ
ReduceProdÚprodF)Úallow_multi_dim_supportc                ó0   — t        j                  | ||«      S r  )r   Ú_reduce_with_dtype_helper)Úonnx_opr  r	  s      r  Ú_reduce_with_dtyper    s   € ô  ×4Ñ4Ø�Ð.óð r  zaten::cumsumÚnonec                ó4   — t        j                  ddd|«       y )Nr@   r  rC  ©r   Ú_onnx_opset_unsupported)r(  r/  rB   r  s       r  r@   r@   (  s   € ô ×+Ñ+¨H°a¸¸UÕCr  zaten::_sample_dirichletc                ó.   — t        j                  d|«      S )NÚ_sample_dirichlet©r   Ú_onnx_unsupported©r(  r<  Ú	generators      r  r  r  .  s   € ä×,Ñ,Ð-@À$ÓGÐGr  zaten::_standard_gammac                ó.   — t        j                  d|«      S )NÚ_standard_gammar  r  s      r  r  r  3  s   € ä×,Ñ,Ð->ÀÓEÐEr  zaten::tc                ó†   — t        j                  |«      }|�|dk  r| j                  d|«      S | j                  d|d¬«      S )Nr¾  ÚIdentityÚ	Transpose)rD  r   ©Úperm_i)r   r™  r$  )r(  r<  Úranks      r  rô   rô   8  sE   € ä×+Ñ+¨DÓ1€DØ€|�t˜a’xð �t‰t�J Ó%Ð%Ø�4‰4�˜T¨&ˆ4Ó1Ð1r  zaten::numpy_Tc                ó˜   — t        j                  |«      }|€J ‚t        t        t	        d|«      «      «      }| j                  d||¬«      S ©Nr   r  r  )r   r™  r6  ÚreversedÚranger$  )r(  r/  ÚndimÚperms       r  r©   r©   C  sJ   € ô ×+Ñ+¨EÓ2€DØÐÐÐÜ”œ˜q $›Ó(Ó)€DØ�4‰4�˜U¨4ˆ4Ó0Ð0r  zaten::expandc           
     ór  — t        j                  |d«      }t        j                  |«      s'| j                  dt	        j
                  |«      ¬«      }n\t        j                  |«      rGt        j                  | t        | |d«      | j                  dt	        j                  dg«      ¬«      «      }t        j                  j                  }t        | ||«      }t        | || j                  dt	        j                  d«      ¬«      «      }t        | | j                  d||«      ||«      }| j                  d||«      S )zXImplement the expand function for a pytorch tensor in ONNX according to specified `size`Úisr]  r^  r   éÿÿÿÿr‚  ÚExpand©r   Ú_maybe_get_constrF  r$  r`  Ú
LongTensorÚ_is_packed_listr:  rð   rù   r	   rt  rs  r«   rš   r  )r(  r<  rå   Úimplicitr  r¬   Úneg_oness          r  rO   rO   L  sþ   € ô ×+Ñ+¨D°$Ó7€DÜ×$Ñ$ TÔ*Ø�t‰t�J¬×(8Ñ(8¸Ó(>ˆtÓ?‰Ü	×	(Ñ	(¨Ô	.ô ×.Ñ.ØŒu�Q˜˜aÓ  !§$¡$ z¼5¿<¹<ÈÈÓ;M $Ó"Nó
ˆô ×%Ñ%×+Ñ+€EÜ�Q˜˜eÓ$€DÜ�1�d˜AŸD™D ´U·\±\À"Ó5E˜DÓFÓG€HÜ��A—D‘D˜ $¨Ó1°4¸Ó>€DØ�4‰4�˜$ Ó%Ð%r  zaten::broadcast_toc           
     ór  — t        j                  |d«      }t        j                  |«      s'| j                  dt	        j
                  |«      ¬«      }n\t        j                  |«      rGt        j                  | t        | |d«      | j                  dt	        j                  dg«      ¬«      «      }t        j                  j                  }t        | ||«      }t        | || j                  dt	        j                  d«      ¬«      «      }t        | | j                  d||«      ||«      }| j                  d||«      S )Nr'  r]  r^  r   r(  r‚  r)  r*  )r(  r<  rå   r  r¬   r/  s         r  r)   r)   a  sþ   € ô ×+Ñ+¨D°$Ó7€DÜ×$Ñ$ TÔ*Ø�t‰t�J¬×(8Ñ(8¸Ó(>ˆtÓ?‰Ü	×	(Ñ	(¨Ô	.ô ×.Ñ.ØŒu�Q˜˜aÓ  !§$¡$ z¼5¿<¹<ÈÈÓ;M $Ó"Nó
ˆô ×%Ñ%×+Ñ+€EÜ�Q˜˜eÓ$€DÜ�1�d˜AŸD™D ´U·\±\À"Ó5E˜DÓFÓG€HÜ��A—D‘D˜ $¨Ó1°4¸Ó>€DØ�4‰4�˜$ Ó%Ð%r  zaten::expand_asc                óR  — t        j                  |d«      }t        |t        j                  «      rÓ|j
                  }|j                  t        j                  «      }g }t        |j                  «       «      D ]Š  }t        j                  |j                  |«      j                  |«      j                  |«      |«      sŒG|j                  |«       | j                  d|j                  |d¬«      j                  |«      ¬«      }ŒŒ | j                  d|«      }| j                  d||«      S )Nrô   r]  T)Úkeepdimr^  r,  r)  )r   r+  r5  r`  ÚTensorr  rû   r�  r#  rB   Úequalr  r  rN   r  r$  )r(  r<  r@  Úself_tÚ	orig_typeÚdimsÚdr7  s           r  rN   rN   u  sê   € ô ×-Ñ-¨d°CÓ8€FÜ�&œ%Ÿ,™,Ô'Ø—L‘Lˆ	Ø—‘œ5Ÿ<™<Ó(ˆØˆÜ�v—z‘z“|Ó$ò 	ˆAÜ�{‰{˜6Ÿ;™; q›>×3Ñ3°AÓ6×@Ñ@ÀÓHÈ&ÕQØ—‘˜A”Ø—t‘tØ¨¯©°DÀ$¨Ó(G×(JÑ(JÈ9Ó(Uð ó ‘ð	ð �D‰D�˜%Ó €EØ�4‰4�˜$ Ó&Ð&r  zaten::embeddingÚbc                óÌ   — |r&t         j                  rt        j                  d|«      ‚|dk\  r%t         j                  rt	        j
                  d«       | j                  d||«      S )Nz‚Unsupported: ONNX export of embedding with scale_grad_by_freq=True for training mode. ONNX does not support scaling the gradients.r   z¢Warning: ONNX export of embedding with padding_idx >= 0 for training mode. ONNX does not support not updating the embedding vector at padding_idx during training.ÚGather)r   Úexport_trainingr
   rj  ÚwarningsÚwarnr$  )r(  ÚweightÚindicesÚpadding_idxÚscale_grad_by_freqÚsparses         r  rH   rH   ˆ  sd   € ñ œg×5Ò5Ü×'Ñ'ðNàó
ð 	
ð
 �aÒœG×3Ò3Ü�‰ðfô	
ð �4‰4�˜& 'Ó*Ð*r  zaten::embedding_bagc
                ó‚   — t        j                  |«      st        j                  d«      S t        j                  d|«      S )Nz%embedding_bag with per_sample_weightsrG   )r   Ú_is_noner  )
r(  Úembedding_matrixr@  ÚoffsetsrB  ÚmoderC  Úper_sample_weightsÚinclude_last_offsetrA  s
             r  rG   rG   £  s?   € ô ×#Ñ#Ð$6Ô7Ü×0Ñ0Ø3ó
ð 	
ô ×,Ñ,¨_Ð>NÓOÐOr  z
aten::size)Úquantize_outputc                ó6  — |€| j                  d|«      S t        j                  |d«      dk  rVt        j                  |«      }|�?t        j                  |d«      |z   }| j                  dt	        j
                  |«      ¬«      }t        j                  | ||«      S )Nr,  r•  r   r]  r^  )r$  r   r+  r™  r`  rù   Ú_size_helper©r(  r<  rB   r  s       r  rå   rå   º  sŒ   € ð €{Ø�t‰t�G˜TÓ"Ð"Ü×'Ñ'¨¨SÓ1°AÒ5Ü×/Ñ/°Ó5ˆØÐÜ!×2Ñ2°3¸Ó<¸tÑCˆCØ—$‘$�z¬5¯<©<¸Ó+<�$Ó=ˆCÜ×'Ñ'¨¨4°Ó5Ð5r  zaten::transposec                óÜ   — ||k(  r|S t        j                  |«      }|�9t        t        |«      «      }||   ||   c||<   ||<   | j	                  d||¬«      S t        j                  d|«      ‚)Nr  r  zAUnsupported: ONNX export of transpose for tensor of unknown rank.)r   r™  r6  r#  r$  r
   rj  )r(  r<  Údim0Údim1r  rþ  s         r  rý   rý   Ç  s€   € ð ˆt‚|Øˆô ×+Ñ+¨DÓ1€DØÐÜ”E˜$“KÓ ˆØ!% d¡¨T°$©ZÐˆˆT‰
�D˜‘JØ�t‰t�K ¨dˆtÓ3Ð3ä×'Ñ'ØOØó
ð 	
r  zaten::permuter'  c           	     óp   — |t        t        dt        |«      «      «      k(  r|S | j                  d||¬«      S r!  )r6  r#  rV  r$  )r(  r<  r7  s      r  r°   r°   Û  s6   € ð Œt”E˜!œS ›YÓ'Ó(Ò(ØˆØ�4‰4�˜T¨$ˆ4Ó/Ð/r  z
aten::viewc                ó   — t        | ||«      S r  )r×   )r(  r<  rå   s      r  r  r  ã  s   € ô �1�d˜DÓ!Ð!r  zaten::view_asc                ó@   — | j                  d|«      }t        | ||«      S r+  r>  r?  s       r  r  r  é  s!   € à�D‰D�˜%Ó €EÜ�1�d˜EÓ"Ð"r  zaten::unsafe_chunkc                ó  — |€t        j                  dddd|«      S t        j                  ||«      }|€t        j                  dd|«      S ||z   dz
  |z  }|g||z  z  }||z  }|r|j	                  |«       | j                  d||||¬«      S )	Nr  r  rC  ú'Dynamic number of outputs not supportedúunknown dimension sizerD  ÚSplit©Úsplit_ir4  Úoutputs)r   rH  rŸ  Ú_unimplementedr  r$  )	r(  r<  ÚchunksrB   Ú_outputsrå   Ú
split_sizeÚsplitsÚleftovers	            r  r  r  ï  sµ   € ð ÐÜ×?Ñ?Ø˜A˜rÐ#LÈdó
ð 	
ô ×/Ñ/°°cÓ:€DØ€|Ü×-Ñ-ØÐ4°dó
ð 	
ð ˜‘- !Ñ#¨Ñ.€JØˆ\˜T ZÑ/Ñ0€FØ�jÑ €HÙØ�‰�hÔØ�4‰4�˜ v°cÀ8ˆ4ÓLÐLr  zaten::splitc                óú  — t        j                  ||«      st        j                  dddd|«      S t        j                  |j	                  «       d«      }|j                  «       dkD  rt        | ||||«      S t        j                  |dd«      }t        j                  ||«      }|€!|�||z  }nt        j                  dddd	|«      S |g||z  z  }||z  }	|	r|j                  |	«       | j                  d
||||¬«      S )Nrì   r  rC  rV  rc  r   r•  r_  z$Unknown dimension size not supportedrX  rY  )r   Ú_is_split_staticrH  Ú	_node_getr¡  rB   rë   Ú
_get_constrŸ  r  r$  )
r(  r<  Úsplit_size_or_sizesrB   r^  Ú	split_valr_  rå   r`  ra  s
             r  rì   rì     s  € ô ×+Ñ+Ð,?ÀÔJÜ×?Ñ?Ø�Q˜ÐEÀtó
ð 	
ô  ×)Ñ)Ð*=×*BÑ*BÓ*DÀgÓN€IØ‡}�}ƒ˜ÒÜ  4Ð)<¸cÀ8ÓLÐLÜ ×+Ñ+Ð,?ÀÀlÓS€Jä×/Ñ/°°cÓ:€DØ€|ØÐØ Ñ(‰Dä"×CÑCØ˜˜BÐ FÈóð ð ˆ\˜T ZÑ/Ñ0€FØ�jÑ €HÙØ�‰�hÔØ�4‰4�˜ v°cÀ8ˆ4ÓLÐLr  zaten::unsafe_splitc                ó    — t        | ||||«      S r  )rì   )r(  r<  rf  rB   r^  s        r  r  r    s   € ô ��DÐ-¨s°HÓ=Ð=r  zaten::split_with_sizesc                óŒ   — t        j                  ||«      st        j                  dddd|«      S | j                  d||||¬«      S )Nrë   r  rC  rV  rX  rY  )r   rc  rH  r$  ©r(  r<  Úsplit_sizesrB   r^  s        r  rë   rë   %  sO   € ô ×+Ñ+¨K¸ÔBÜ×?Ñ?Ø  2Ð'PÐRVó
ð 	
ð �4‰4�˜ {¸3Èˆ4ÓQÐQr  zaten::unsafe_split_with_sizesc                ó    — t        | ||||«      S r  )rë   rj  s        r  r  r  /  s   € ô ˜A˜t [°#°xÓ@Ð@r  zaten::unbindc                óØ   — |€t        j                  dddd|«      S | j                  d|dg|z  ||¬«      }|dk(  r|gn|}|D �cg c]  }t        j                  | ||g«      ‘Œ }}|S c c}w )Nr   r  rC  rV  rX  rD  rY  )r   rH  r$  Ú_squeeze_helper)r(  r<  rB   r^  r[  rz  Úsqueezed_outputss          r  r   r   6  s‘   € ð ÐÜ×?Ñ?Ø�a˜ÐFÈó
ð 	
ð �d‰d�7˜D¨1¨#°©.ÀÈhˆdÓW€GØ# qš=ˆw‰i¨g€GàBIöØ;>Œ×'Ñ'¨¨3°°Õ6ðÐð ð Ðùòs   ÁA'zaten::selectc                ó*  — t        j                  |«      }t        j                  |«      sU|dk  rP|dk(  rt        j                  }n|dz   }t        j
                  | ||g|g|g¬«      }t        j                  | ||g«      S | j                  d|||¬«      S )z²Implement the select functionality for a pytorch tensor in ONNX.

    Selects elements from the input tensor along the specified `dim` dimension based on the `index` tensor.
    r   r(  rD  ©rþ  rÿ  r   r;  ©r4  )r   rJ  rF  r   rý  Ú_slice_helperrn  r$  )r(  r<  rB   rj   Ú	end_indexÚ
slice_nodes         r  rß   rß   F  s–   € ô ×-Ñ-¨eÓ4€EÜ×%Ñ% eÔ,°5¸1²9Ø�BŠ;Ü"×,Ñ,‰Ià ™	ˆIÜ$×2Ñ2Øˆt˜3˜%¨¨°y°kô
ˆ
ô ×.Ñ.¨q°*¸s¸eÓDÐDð �t‰t�H˜d E°#ˆtÓ6Ð6r  zaten::squarec                ó(   — | j                  d||«      S ©NrE  r-  r”  s     r  rî   rî   ]  s   € à�4‰4��t˜TÓ"Ð"r  zaten::squeezec                ó4  — |€| j                  d|«      S t        j                  |dd«      }|dk  rst        j                  |«      }|�Et	        j
                  dt        |«      z   dz   dz   dz   t        ||z   «      z   d	z   d
z   «       ||z  }nt        j                  dd|«      S t        j                  ||«      }|€Xt	        j
                  dt        |«      z   dz   dz   t        |«      z   dz   dz   dz   dz   «       t        j                  | ||g¬«      S |dkD  rAt	        j
                  dt        |«      z   dz   dz   t        |«      z   dz   dz   dz   dz   «       |S t	        j
                  dt        |«      z   dz   dz   «       t        j                  | ||g¬«      S )NÚSqueezer•  rB   r   z'ONNX export squeeze with negative axis ú- might cause the onnx model to be incorrect. ú(Negative axis is not supported in ONNX. úAxis is converted to ú& based on input shape at export time. úCPassing an tensor of different rank in execution will be incorrect.rï   ú%negative axis with unknown input rankz5This model contains a squeeze operation on dimension z on an input z7with unknown shape. Note that if the size of dimension z of the input zVis not 1, the ONNX model will return an error. Opset version 11 supports squeezing on zMnon-singleton dimensions, it is recommended to export this model using opset zversion 11 or higher.©rú  rD  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 z-input shapes, please use opset version 11 to zexport the model.z. If the model is z_intended to be used with dynamic input shapes, please use opset version 11 to export the model.)
r$  r   re  r™  r=  r>  Ústrr\  rŸ  rn  )r(  r<  rB   Úsqueeze_dimr  Údim_sizes         r  rï   rï   b  s.  € à
€{Ø�t‰t�I˜tÓ$Ð$ä!×,Ñ,¨S°#°uÓ=€Kà�Q‚Ü×/Ñ/°Ó5ˆØÐÜ�M‰MØ9Ü�kÓ"ñ#àAñBð =ñ=ð *ñ	*ô
 �k DÑ(Ó)ñ*ð ;ñ;ð XñXô	ð ˜4Ñ‰Kä"×1Ñ1ØÐBÀDóð ô ×3Ñ3°D¸+ÓF€HØÐÜ�‰ØCÜ�+Óñàñð HñHô �+Óñ	ð
 ñð gñgð ^ñ^ð &ñ&ô
	
ô ×.Ñ.¨q°$À¸}ÔMÐMØ�!‚|Ü�‰ØCÜ�+Óñàñð 6ñ6ô �(‹mñ	ð
 "ñ"ð hñhð >ñ>ð "ñ"ô
	
ð ˆä‡M�MØ?Ü
ˆkÓ
ñ	à
ñ	ð lñ	lôô ×*Ñ*¨1¨d¸K¸=ÔIÐIr  zaten::preluc                ór  — t        j                  |«      }t        j                  |«      }t        |«      }|�X|dkD  r.t        j                  | |t        t        d|dz
  «      «      «      }n%|dk(  r |dgk(  rt        j                  | |dg«      }d}|�|�||k\  sJ d|› d|› �«       ‚| j                  d||«      S )Nr¾  rD  r   z)rank(x) should be >= rank(slope) but got z < ÚPRelu)	r   r™  Ú_get_tensor_sizesrV  r§  r6  r#  rn  r$  )r(  r<  r?  Ú	self_rankÚweight_sizesÚweight_ranks         r  r´   r´   ¡  sÒ   € ä×0Ñ0°Ó6€IÜ"×4Ñ4°VÓ<€LÜ�lÓ#€KØÐØ�qŠ=ä$×6Ñ6Ø�6œ4¤ a¨°Q©Ó 7Ó8ó‰Fð ˜!Š^ °°Ò 3ä$×4Ñ4°Q¸ÀÀÓDˆFØˆKàÐ Ð!8Ø˜KÒ'ð 	
Ø7¸	°{À#ÀkÀ]ÐSó	
Ð'ð �4‰4�˜˜vÓ&Ð&r  z
aten::siluc                óH   — | j                  d|| j                  d|«      «      S )NrE  rõ  r-  r.  s     r  rã   rã   ¸  s    € à�4‰4��u˜aŸd™d 9¨eÓ4Ó5Ð5r  z
aten::mishc                óh   — | j                  d|| j                  d| j                  d|«      «      «      S )NrE  rÙ  ÚSoftplusr-  r.  s     r  r–   r–   ½  s+   € à�4‰4��u˜aŸd™d 6¨1¯4©4°
¸EÓ+BÓCÓDÐDr  z
aten::reluc                ó4   — t        j                  | d|d¬«      S )NÚRelué   ©Úopset_before©r   Ú_op_with_optional_float_castr.  s     r  rÐ   rÐ   Â  s    € ô ×7Ñ7Ø	ˆ6�5 rôð r  zaten::relu6c                ó   — t        | |dd«      S )Nr   é   )r0   r.  s     r  rÑ   rÑ   Ê  s   € ô ��E˜1˜aÓ Ð r  z
aten::ceilc                ó&   — | j                  d|«      S )NÚCeilr-  r.  s     r  r-   r-   Ð  s   € à�4‰4�˜ÓÐr  zaten::floorc                ó&   — | j                  d|«      S )Nr}  r-  r.  s     r  rT   rT   Õ  r1  r  z	aten::lenc           
     ó–   — t        | || j                  dt        j                  dg«      ¬«      «      }t	        j
                  | |dg«      S ©Nr]  r   r^  )rå   r$  r`  r,  r   rn  )r(  r<  Úsz_0s      r  Ú_lenrœ  Ú  sA   € ä��4˜Ÿ™˜j´%×2BÑ2BÀAÀ3Ó2G˜ÓHÓI€DÜ×*Ñ*¨1¨d°Q°CÓ8Ð8r  zaten::thresholdc                óâ   — t        j                  |«      dk7  rt        j                  dd|«      S t        j                  |«      dk7  rt        j                  dd|«      S | j                  d|«      S )Nr   rú   znon-zero thresholdznon-zero valuerŽ  )r   rI  r\  r$  )r(  r<  rú   rc  s       r  rú   rú   à  sh   € ô ×Ñ˜yÓ)¨QÒ.Ü×-Ñ-¨kÐ;OÐQUÓVÐVÜ×Ñ˜uÓ%¨Ò*Ü×-Ñ-¨kÐ;KÈTÓRÐRØ�4‰4�˜ÓÐr  zaten::leaky_reluc                ó*   — | j                  d||¬«      S )NÚ	LeakyRelu©r²  r-  )r(  r/  Únegative_slopeÚinplaces       r  rs   rs   ë  s   € ð �4‰4�˜U¨Nˆ4Ó;Ð;r  z	aten::gluc                ó¼   — t        j                  ||«      }|�
|dz  dk(  sJ ‚| j                  d||d¬«      \  }}| j                  d|| j                  d|«      «      S )Nr¾  r   rX  )r4  r[  rE  rõ  )r   rŸ  r$  )r(  r/  rB   rƒ  ÚfirstÚseconds         r  r]   r]   ø  sf   € ô ×3Ñ3°E¸3Ó?€HØÐØ˜!‰|˜qÒ Ð Ð à—D‘D˜ %°¸Q�DÓ?�M€Eˆ6Ø�4‰4��u˜aŸd™d 9¨fÓ5Ó6Ð6r  zaten::softmaxc           
     ó¶  — t        j                  |«      }|�í|dk  r||z   }||dz   k7  }|r>t        t        |«      «      }|d   ||   c||<   |d<   | j	                  d||¬«      }|dz
  }| j	                  d||¬«      }|rm|j                  «       j                  «       dk7  rLt        j                  |d	d
«      }| j	                  d|t        j                  |«      j                  «       ¬«      }|r| j	                  d|¬«      }|S | j	                  d|| j	                  d||gd¬«      «      }| j	                  d|«      }	t        j                  | |	|g¬«      }
| j	                  d|	|
«      }|rm|j                  «       j                  «       dk7  rLt        j                  |d	d
«      }| j	                  d|t        j                  |«      j                  «       ¬«      }|S )Nr   rD  r(  r  r  ÚSoftmaxrr  r#  r•  r  rn  ro  rN  Ú	ReduceMax©rú  Ú
keepdims_iÚExpr€  rm  )r   r™  r6  r#  r$  r¡  Úkindre  r	   rt  ry  Ú_reducesum_helper)r(  r/  rB   r  Ú	input_dimÚis_transpose_requiredrþ  rç   Úparsed_dtyperM   r  s              r  rç   rç     s×  € ô.  ×0Ñ0°Ó7€IØÐà�Š7Ø˜c‘/ˆCà )¨S°1©WÑ 4Ðá Üœ˜iÓ(Ó)ˆDØ"& r¡(¨D°©IÐˆD�‰I�t˜B‘xØ—D‘D˜ e°D�DÓ9ˆEØ˜a‘-ˆCà—$‘$�y %°�$Ó4ˆÙ�U—Z‘Z“\×&Ñ&Ó(Ð,<Ò<Ü*×5Ñ5°e¸SÀ'ÓJˆLØ—d‘dØØÜ ×.Ñ.¨|Ó<×FÑFÓHð ó ˆGñ !Ø—d‘d˜;¨¸�dÓ=ˆGØˆð �D‰D�˜˜qŸt™t K°À¸uÐQR˜tÓSÓT€Eà
�$‰$ˆu�eÓ
€CÜ
×
+Ñ
+¨A¨s¸C¸5Ô
A€CØ�d‰d�5˜#˜sÓ#€GÙ�—‘“×"Ñ"Ó$Ð(8Ò8Ü&×1Ñ1°%¸¸gÓFˆØ—$‘$Ø�G¤+×";Ñ";¸LÓ"I×"SÑ"SÓ"Uð ó 
ˆð €Nr  zaten::softplusc                óÄ   — t        j                  |d«      }|dk7  r4| j                  d| j                  d| j                  d||«      «      |«      S | j                  d|«      S )NrZ  rD  rm  rŒ  rE  )r   r+  r$  )r(  r<  rÂ  rú   Ú
beta_consts        r  rè   rè   C  sW   € ä ×1Ñ1°$¸Ó<€JØ�Q‚Ø�t‰t�E˜1Ÿ4™4 
¨A¯D©D°¸¸dÓ,CÓDÀdÓKÐKØ�4‰4�
˜DÓ!Ð!r  zaten::get_pool_ceil_paddingc                ó¤  — t        j                  | «      }|�|t        |«       d  nd }|�t        d„ |D «       «      rt        j                  dd| «      S t        dt        |«      «      D �cg c]D  }t        t        j                  ||   d||   z  z   ||   z
  t        ||   «      z  «      «      dz   ‘ŒF }}t        dt        |«      «      D �cg c])  }||   dz
  ||   z  ||   ||   z   k\  r||   dz
  n||   ‘Œ+ }}t        dt        |«      «      D �cg c]2  }||   dk(  rdn%||   ||   d||   z  z   ||   dz
  ||   z  dz   z
  z
  ‘Œ4 }}t        dt        |«      «      D �cg c]Q  }||   d||   z  z   ||   k\  r-||   ||   dz
  k  rt        ||   «      nt        ||   dz
  «      nt        ||   «      ‘ŒS }}|S c c}w c c}w c c}w c c}w )Nc              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   ©rš  r•  s     r  rœ  z(get_pool_ceil_padding.<locals>.<genexpr>P  s   è ø€ Ò1¨˜!˜tœ)Ñ1ùó   ‚r\   úinput size not accessibler   r¾  rD  )
r   r†  rV  Úanyr\  r#  Úintrë  r-   rŽ  )	r/  Úkernel_sizeÚstrideÚpaddingÚsizesrB   r•  Úceiled_output_dimÚpadding_ceils	            r  r\   r\   K  sg  € ô ×-Ñ-¨eÓ4€EØ$)Ð$5ˆ%”�W“��Ñ
 ¸4€CØ
€{”cÑ1¨SÔ1Ô1Ü×-Ñ-Ø#Ð%@À%ó
ð 	
ô �qœ#˜g›,Ó'öð ô 	ŒD�I‰I�s˜1‘v  G¨A¡J¡Ñ.°¸Q±Ñ?Ä5ÈÐPQÉÓCSÑSÓTÓUØ
ó	ðÐð ô �qœ#Ð/Ó0Ó1öð ð $ AÑ&¨Ñ*¨f°Q©iÑ7¸SÀ¹VÀgÈaÁjÑ=PÒQð ˜aÑ  1Ò$à" 1Ñ%ñ&ðÐð ô* �qœ#˜g›,Ó'öð ð �q‘	˜Q’ñ ð ˜A‘à˜‘FØ˜' !™*‘nñ%à)¨!Ñ,¨qÑ0°F¸1±IÑ=ÀÑAñCññ	ð€Lð ô4 �qœ#˜lÓ+Ó,öð ð ˜a‘ 1 w¨q¡z¡>Ñ1°{À1±~ÒFð   ‘? [°¡^°aÑ%7Ò7ô �L ‘OÔ$ä˜ Q™¨!Ñ+Ô,ô �\ !‘_Ó%ñ&ð€Lð ð ÐùòUùòùòùò s   Á+A	F>Ã.GÄ7GÅ$AGzaten::max_pool1dÚ
max_pool1drD  )Úreturn_indiceszaten::max_pool2dÚ
max_pool2dr¾  zaten::max_pool3dÚ
max_pool3dé   c           	     ó’   ‡ ‡‡‡— t        j                  dddddd«      t        j                  dddddd«      ˆ ˆˆˆfd„«       «       }|S )NTFrY  r'  r•  c                óì  •— t         ‰|«      «      dhk7  rt        j                  ‰d|«      S |s|}t         ‰|«      «      }|r.t	        ||||«      }|t        d„ t        ||«      D «       «      z   }n|dz  } ‰|«      | ‰|«      dœ}‰rÃ | j                  d|fddi|¤Ž\  }	}
| j                  d|dt        ‰«      D �cg c]  }d‘Œ c}t        ‰«      D �cg c]  }d‘Œ c}¬«      \  }}t        j                  | |t        ‰«      D �cg c]  }d|z   ‘Œ	 c}t         ‰d	«      «      t         ‰d«      «      ¬
«      }t        | |
|«      }
|	|
fS  | j                  d|fddi|¤Ž}	|	S c c}w c c}w c c}w )NrD  Údilationc              3  ó,   K  — | ]  \  }}||z   –— Œ y ­wr  r   ©rš  Úar9  s      r  rœ  z1_max_pool.<locals>.symbolic_fn.<locals>.<genexpr>§  s   è ø€ Ò%U±°°A a¨!¥eÑ%Uùó   ‚r¾  )Úkernel_shape_iÚpads_iÚ	strides_iÚMaxPoolr[  )r[  rÌ  rÎ  r   rq  )Úsetr   r\  Útupler\   Úzipr$  r#  rs  r6  ró   )r(  r/  rº  r»  r¼  rÇ  Ú	ceil_moder¿  ÚkwargsÚrr@  Ú_Úflattened_indicesr•  re  r  ÚndimsrÁ  Útuple_fns                  €€€€r  Úsymbolic_fnz_max_pool.<locals>.symbolic_fn�  s�  ø€ ô ‰x˜Ó!Ó" q cÒ)Ü"×1Ñ1°$¸
ÀEÓJÐJÙØ ˆFÜ™ Ó)Ó*ˆÙÜ0°¸ÀVÈWÓUˆLØ¤Ñ%U¼#¸lÈGÓ:TÔ%UÓ UÑU‰Gà ‘kˆGá& {Ó3ØÙ! &Ó)ñ
ˆñ$ Ø˜Ÿ™˜i¨ÑD¸ÐD¸VÑD‰JˆAˆwØ#$§4¡4ØØØÜ+0°«<Ö8 a¢Ò8Ü&+¨E£lÖ3 š1Ò3ð $(ó $Ñ ˆAÐ ô  ×-Ñ-ØØ!Ü%*¨5£\Ö2 �a˜!“eÒ2Ü™H Q›KÓ(Ü™( 1›+Ó&ôˆAô ˜!˜W aÓ(ˆGØ�g�:Ðà�—‘�Y Ñ;¨qÐ;°FÑ;ˆAØˆHùò  9ùÚ3ùò 3s   Ã 	E'Ã	E,Ä
E1©r   Úquantized_argsÚ
parse_args)r  rÙ  rØ  rÁ  rÚ  s   ```` r  Ú	_max_poolrÞ  �  sT   û€ ô8 ×#Ñ# D¨%°¸¸uÀeÓLÜ×Ñ  T¨4°°t¸SÓAö2ó Bó Mð2ðh Ðr  zaten::max_pool1d_with_indicesrŽ   zaten::max_pool2d_with_indicesr�   zaten::max_pool3d_with_indicesr�   zaten::avg_pool1dÚ
avg_pool1dzaten::avg_pool2dÚ
avg_pool2dzaten::avg_pool3dÚ
avg_pool3dc           
     óž   ‡ ‡— t        j                  d«      t        j                  ddddddd«      	 d	 	 	 	 	 	 	 	 	 	 	 dˆ ˆfd„«       «       }|S )	NTrY  r'  r•  r  c           	     ó~  •— |s|}t        j                  ‰||||‰«      }t        |t        «      sJ ‚|}|r0t        j                  | d|d|z   dz  ddd¬«      }dt        |«      z  }|r.t        ||||«      }	|t        d	„ t        |	|«      D «       «      z   }n|dz  }| j                  d
| ‰|«       ‰|«      |¬«      }
|
S )NÚPad)r   r   r¾  Úconstantr®  rC  ©rÍ  Úmode_sÚvalue_fr‘  ©r   c              3  ó,   K  — | ]  \  }}||z   –— Œ y ­wr  r   rÉ  s      r  rœ  z1_avg_pool.<locals>.symbolic_fn.<locals>.<genexpr>+  s   è ø€ ò 8Ù ˜1˜a��A•ñ8ùrË  ÚAveragePool)rÌ  rÎ  rÍ  )	r   Ú_avgpool_helperr5  rÑ  r“  rV  r\   rÒ  r$  )r(  r/  rº  r»  r¼  rÓ  Úcount_include_padÚdivisor_overrideÚadjusted_paddingr¿  Úoutputr  rÙ  s              €€r  rÚ  z_avg_pool.<locals>.symbolic_fn  s  ø€ ñ Ø ˆFÜ!×1Ñ1Ø�g˜{¨FÐ4DÀdó
ˆô ˜'¤5Ô)Ð)Ð)Ø"Ðñ Ü#×@Ñ@ØØØØ  7Ñ*¨aÑ/Ø!ØØôˆEð  $¤c¨'£lÑ2ÐÙÜ0°¸ÀVÈWÓUˆLØ/´%ñ 8Ü$'¨Ð6FÓ$Gô8ó 3ñ  Ñð  0°!Ñ3ÐØ—‘ØØÙ# KÓ0Ù˜vÓ&Ø#ð ó 
ˆð ˆr  r  )r/  ú_C.Valuerº  úSequence[int]r»  rò  r¼  zint | Sequence[int]rÓ  r¹  rí  r¹  rÛ  )r  rÙ  rÚ  s   `` r  Ú	_avg_poolró  ð  sŠ   ù€ ô, ×#Ñ# DÓ)Ü×Ñ  T¨4°°s¸CÀÓHð ð/àð/ð #ð/ð ð	/ð
 %ð/ð ð/ð õ/ó Ió *ð/ðb Ðr  zaten::adaptive_avg_pool1dÚadaptive_avg_pool1drë  zaten::adaptive_avg_pool2dÚadaptive_avg_pool2dzaten::adaptive_avg_pool3dÚadaptive_avg_pool3dzaten::adaptive_max_pool1dÚadaptive_max_pool1drÏ  zaten::adaptive_max_pool2dÚadaptive_max_pool2dzaten::adaptive_max_pool3dÚadaptive_max_pool3dc                óP   ‡ ‡‡‡— t        j                  dd«      ˆˆ ˆˆfd„«       }|S )NTFc                óÚ  •— |}	 t        j                  |d«      }|dgt	        |«      z  k(  r‰dk(  r| j                  d|«      S t        j                  |«      }	 |dd  }|�t        d„ |D «       «      r=|dgt	        |«      z  k(  r| j                  d|«      d fS t        j                  ‰d	|«      S t        d
t	        |«      «      D �cg c]  }||   ||   z  ‘Œ }}|d
gt	        |«      z  k7  r=|dgt	        |«      z  k(  r| j                  d|«      d fS t        j                  ‰d|«      S t        d
t	        |«      «      D �cg c]  }t        ||   ||   z  «      ‘Œ }}‰dk(  r& ‰
| |||dt	        |«      z  dt	        |«      z  d«      S | j                  ‰| ‰|«       ‰|«      ¬«      }	|	S # t        $ r t        j                  d|«      cY S w xY w# t        $ r d }Y �Œ€w xY wc c}w c c}w )Nr'  z4adaptive pooling, since output_size is not constant.rD  rë  ÚGlobalAveragePoolr¾  c              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   rµ  s     r  rœ  z6_adaptive_pool.<locals>.symbolic_fn.<locals>.<genexpr>™  s   è ø€ Ò5¨A˜a 4œiÑ5ùr¶  ÚGlobalMaxPoolr·  r   z-output size that are not factor of input sizerÏ  ré  )rD  F)rÌ  rÎ  )r   Ú
_parse_argÚ	Exceptionr  rV  r$  r†  r¸  r\  r#  r¹  )r(  r/  Úoutput_sizeÚoutput_size_valuer½  rB   r•  r†  Úkrð  Úfnr  rÙ  Útypes             €€€€r  rÚ  z#_adaptive_pool.<locals>.symbolic_fn|  s"  ø€ ð (Ðð	Ü)×4Ñ4°[À$ÓGˆKð ˜1˜#¤ KÓ 0Ñ0Ò0°T¸]Ò5JØ—4‘4Ð+¨UÓ3Ð3Ü×1Ñ1°%Ó8ˆð	Ø˜˜�)ˆCð
 ˆ;œ#Ñ5°Ô5Ô5Ø˜q˜c¤C¨Ó$4Ñ4Ò4Ø—t‘t˜O¨UÓ3°TÐ9Ð9Ü"×1Ñ1ØÐ1°5óð ô 16°a¼¸S»Ó0BÖC¨1ˆs�1‰v˜ A™Ó&ÐCˆÐCØ�1�#œ˜C›‘.Ò Ø˜q˜c¤C¨Ó$4Ñ4Ò4Ø—t‘t˜O¨UÓ3°TÐ9Ð9Ü"×1Ñ1ØÐEÐGXóð ô 49¸¼CÀ»HÓ3EÖF¨aŒS��Q‘˜+ a™.Ñ(Õ)ÐFˆÐFà�9ÒÙ�a˜  1 d¬S°«X¡o°t¼cÀ#»h±ÈÓNÐNØ—‘�d˜E±(¸1³+ÉÐRSË�ÓUˆØˆøôE ò 	ô #×4Ñ4ØFÈóò ð	ûô ò 	ð ‹Cð	üò Dùò Gs/   …F, ÁG ÃG#ÅG(Æ,GÇGÇG ÇG )r   rÜ  )r  r  rÙ  r  rÚ  s   ```` r  Ú_adaptive_poolr  <  s.   û€ ô@ ×#Ñ# D¨%Ó0ö/ó 1ð/ðb Ðr  c                óp   — t        |dd «      dg| dz  t        |«      z
  z  z   }|ddd…   |ddd…   z   }|S )zèGenerate paddings in ONNX order based on pad in pytorch.
    Args:
        dim: the dimension of the tensor.
        pad: the paddings in pytorch.
            The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ...
    Nr   r¾  éþÿÿÿr(  )r6  rV  )rB   r®   Úpaddingss      r  Ú_prepare_onnx_paddingsr
  ±  sO   € ô �C™�F‹|˜q˜c S¨1¡W¬s°3«xÑ%7Ñ8Ñ8€Hà˜˜˜B˜Ñ (¨2¨6¨r¨6Ñ"2Ñ2€HØ€Or  c                óX  — t        j                  | d«      }t        j                  |«      rQt        j                  |«      r<t        j                  |«      }	 |D �cg c]  }t        j
                  |dd«      ‘Œ }}|S |S c c}w # t        $ r t        j                  dddd| «      cY S w xY w)Nr'  r•  r¼  rä  r  rC  z)The sizes of the padding must be constant)r   r+  rF  r-  r�  re  r   rH  )r/  r¼  Ú
input_listrY  s       r  Ú_convert_padding_noder  Â  s¯   € Ü×.Ñ.¨u°dÓ;€GÜ× Ñ  Ô)¬o×.MÑ.MÈgÔ.VÜ$×1Ñ1°'Ó:ˆ
ð		àGQöØBC”×*Ñ*¨1¨c°9Õ=ðˆGð ð €Nˆ7€Nùòøô ò 	ô #×CÑCØ�q˜"ÐIÈ5óò ð	ús$   ÁB ÁA?Á9B Á?B Â"B)Â(B)zaten::constant_pad_ndc           	     ó  — d}	 t        j                  |dd«      }t	        |«      }t        t        j                  |«      |«      }t        j                  | d||||d¬«      S # t        $ r t        j                  dddd|«      cY S w xY w)	Nrå  rZ  rc  rä  r  rC  z*The value for the padding must be constantræ  )r   re  r   rH  r  r
  r™  r“  )r(  r/  r¼  rc  rH  r	  s         r  r2   r2   Ó  s˜   € à€Dð
Ü×*Ñ*¨5°#°wÓ?ˆô $ GÓ,€GÜ%¤o×&FÑ&FÀuÓ&MÈwÓW€HÜ×7Ñ7Ø	ˆ5�% °¸uÐSUôð øô ò 
ô ×?Ñ?Ø�1�bÐFÈó
ò 	
ð
ús   „A! Á!"BÂBc                óÚ  — t        |«      }t        |«      dz  dk(  sJ ‚t        |«      dz  }|}t        |«      D �]-  }|d|z  dz       }|d|z  dz       }g }	|dkD  r@t        j                  | |d|z   g| gt
        j                  g¬«      }
|	j                  |
«       |dk  s|dk  rat        j                  d| «      }t        j                  d| «       }t        j                  | |d|z   g|g|g¬«      }|	j                  |«       n|	j                  |«       |dkD  r1t        j                  | |d|z   gdg|g¬«      }|	j                  |«        | j                  dg|	¢­dd|z   iŽ}�Œ0 |S )Nr¾  r   rD  rq  r3  r4  )r  rV  r#  r   rs  r   rý  r  Úbuiltinsr‘   r$  )r(  r/  r®   r¼  r$  ÚcurÚidxÚpad_rÚpad_lr¥  ÚleftÚstartÚendÚmiddleÚrights                  r  Ú_pad_circularr  æ  s�  € Ü# CÓ(€GÜˆw‹<˜!Ñ˜qÒ Ð Ð Üˆw‹<˜1Ñ€Dà
€CÜ�T‹{ó 9ˆØ˜!˜c™' A™+˜Ñ'ˆØ˜!˜c™' A™+˜Ñ'ˆØˆØ�1Š9Ü"×0Ñ0Ø�3˜a #™g˜Y°%°¨zÄ×AUÑAUÐ@VôˆDð �N‰N˜4Ô à�1Š9˜ š	Ü—L‘L  U FÓ+ˆEÜ—L‘L  U FÓ+Ð,ˆCÜ$×2Ñ2ØØØ˜#‘g�YØ�wØ�UôˆFð �N‰N˜6Õ"à�N‰N˜3Ôà�1Š9Ü#×1Ñ1Ø�3˜a #™g˜Y°¨s¸%¸ôˆEð �N‰N˜5Ô!àˆa�d‰d�8Ð8˜gÒ8¨q°3©wÑ8Šð=9ð@ €Jr  zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                ó�   — d}t        |«      }t        t        j                  |«      |«      }t        j                  | d|||d¬«      S )NÚreflecträ  rC  ©rÍ  rç  r‘  ©r  r
  r   r™  r“  ©r(  r/  r¼  rH  r	  s        r  rÏ   rÏ     sJ   € ð €DÜ# GÓ,€GÜ%¤o×&FÑ&FÀuÓ&MÈwÓW€HÜ×7Ñ7Ø	ˆ5�% °ÀBôð r  zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                ó�   — d}t        |«      }t        t        j                  |«      |«      }t        j                  | d|||d¬«      S )NÚedgerä  rC  r  r  r  s        r  rÕ   rÕ     sJ   € ð €DÜ# GÓ,€GÜ%¤o×&FÑ&FÀuÓ&MÈwÓW€HÜ×7Ñ7Ø	ˆ5�% °ÀBôð r  z	aten::padc                óò   — t        j                  |d«      }|dk(  rt        | ||«      S |dk(  rt        | ||«      S |dk(  rt	        | |||«      S |dk(  rt        | ||«      S t        j                  d|› �|«      ‚)Nre  Ú	replicater  rå  ÚcircularzUnrecognized padding mode )r   rÿ  rÕ   rÏ   r2   r  r
   rj  )r(  r/  r®   rH  rc  s        r  r®   r®   '  s�   € ô ×%Ñ% d¨CÓ0€DØˆ{ÒÜ˜q %¨Ó-Ð-Ø	�Ò	Ü˜a ¨Ó,Ð,Ø	�Ò	Ü˜q %¨¨eÓ4Ð4Ø	�Ò	Ü˜Q  sÓ+Ð+ä×'Ñ'Ð*DÀTÀFÐ(KÈUÓSÐSr  zaten::upsample_nearest1dÚupsample_nearest1dÚnearestzaten::upsample_nearest2dÚupsample_nearest2dé   zaten::upsample_nearest3dÚupsample_nearest3dé   zaten::upsample_linear1dÚupsample_linear1drz   zaten::upsample_bilinear2dÚupsample_bilinear2dzaten::upsample_trilinear3dÚupsample_trilinear3dc                ó   ‡ ‡‡— ˆˆˆ fd„}|S )Nc                ó  •— t        j                  | ‰|«      \  }}t        j                  ‰«       t        j                  |«      }|rt        j                  ‰d|«      S |€t        j
                  | ||‰«      }| j                  d||‰¬«      S )Nzalign_corners == TrueÚUpsample©rç  )r   Ú_get_interpolate_attributesÚ_interpolate_warningrJ  r\  Ú_interpolate_size_to_scalesr$  )	r(  r/  r  rX  ÚscalesÚalign_cornersrB   Úinterpolate_moder  s	         €€€r  rÚ  z!_interpolate.<locals>.symbolic_fng  s“   ø€ Ü /× KÑ KØÐ ó!
Ñˆ�ô 	×,Ñ,Ð-=Ô>Ü'×9Ñ9¸-ÓHˆÙÜ"×1Ñ1°$Ð8OÐQVÓWÐWØˆ>Ü$×@Ñ@Ø�5˜+ sóˆFð �t‰t�J  vÐ6FˆtÓGÐGr  r   )r  rB   r7  rÚ  s   ``` r  Ú_interpolater8  <  s   ú€ öVHð Ðr  zaten::__interpolatec                óf   — t        j                  | |||||«      \  }}| j                  d|||¬«      S )Nr0  r1  )r   Ú _interpolate_get_scales_and_moder$  )	r(  r/  rå   Úscale_factorrH  r6  Úrecompute_scale_factorÚ	antialiasr5  s	            r  Ú__interpolater>  x  s>   € ô #×CÑCØ	ˆ5�$˜ d¨Mó�L€FˆDð �4‰4�
˜E 6°$ˆ4Ó7Ð7r  zaten::bitwise_notc                ó|   — t        j                  |«      st        j                  d|«      ‚| j	                  d|«      S ©NzOONNX export does NOT support exporting bitwise Not for non-boolean input valuesr�  ©r   rR  r
   rj  r$  r.  s     r  r%   r%   ‰  s>   € ä×#Ñ# EÔ*Ü×'Ñ'ð+àó
ð 	
ð
 �4‰4��uÓÐr  zaten::bitwise_orc                óÔ   — t        j                  |«      st        j                  d|«      ‚t        j                  |«      st        j                  d|«      ‚| j	                  d||«      S )NzVONNX export does NOT support exporting bitwise OR for non-boolean input values. self: zWONNX export does NOT support exporting bitwise OR for non-boolean input values. other: ÚOrrA  rS  s      r  r&   r&   ”  sk   € ä×#Ñ# DÔ)Ü×'Ñ'ð3àó
ð 	
ô
 ×#Ñ# EÔ*Ü×'Ñ'ð4àó
ð 	
ð
 �4‰4��d˜EÓ"Ð"r  c                ó   ‡ — ˆ fd„}|S )Nc                óF   •‡ — t        j                  ‰ «      ˆ ˆfd„«       }|S )Nc           	     óX   •— t        «       d‰› �   } ‰|  || |d«       || |d«      «      S )NÚ_cast_F)r  )r(  r/  r@  Úto_cast_funcr  Úto_types       €€r  Úwrap_with_castzGwrap_logical_op_with_cast_to.<locals>.decorator.<locals>.wrap_with_cast§  s7   ø€ ä"›9 v¨g¨YÐ%7Ñ8ˆLÙ�a™ a¨°Ó6¹ÀQÈÈuÓ8UÓVÐVr  ©Ú	functoolsÚwraps)r  rJ  rI  s   ` €r  Ú	decoratorz/wrap_logical_op_with_cast_to.<locals>.decorator¦  s(   ù€ Ü	�‰˜Ó	ô	Wó 
ð	Wð Ðr  r   )rI  rN  s   ` r  r  r  ¥  s   ø€ ôð Ðr  c                óB   ‡ — t        j                  ‰ «      ˆ fd„«       }|S )Nc                ó8   •— | j                  d ‰| ||«      «      S )Nr�  r-  )r(  r/  r@  r  s      €r  Úwrap_with_notz4wrap_logical_op_with_negation.<locals>.wrap_with_not²  s   ø€ à�t‰t�E™4  5¨%Ó0Ó1Ð1r  rK  )r  rQ  s   ` r  r  r  ±  s&   ø€ Ü‡_�_�TÓó2ó ð2ð Ðr  zaten::__not_c                ó|   — t        j                  |«      st        j                  d|«      ‚| j	                  d|«      S r@  rA  r”  s     r  Ú__not_rS  ¹  s>   € ä×#Ñ# DÔ)Ü×'Ñ'ð+àó
ð 	
ð
 �4‰4��tÓÐr  zaten::eqc           	     óÎ  — t        |j                  «       t        j                  «      r^t        |j                  «       t        j                  «      r6| j	                  dt        j                  dt
        j                  ¬«      ¬«      S |j                  «       }|j                  «       }|j                  «       |j                  «       cxk(  rdk(  r†n nƒ|j                  d«      |j                  d«      cxk(  rdk(  rZn nW| j	                  dt        j                  |j                  d«      |j                  d«      k(  t
        j                  ¬«      ¬«      S | j	                  d||«      S )	Nr]  Tr~  r^  úonnx::Constantrc  re  r‚  )r5  r  r   ÚDeviceObjTyper$  r`  rù   Úboolr¡  r¬  ÚkindOfre  )r(  r<  r@  Ú	self_nodeÚ
other_nodes        r  rK   rK   Ä  s  € ô �$—)‘)“+œr×/Ñ/Ô0´ZØ�
‰
‹”b×&Ñ&ô6ð
 �t‰t�J¬¯©°TÄÇÁÔ(LˆtÓMÐMØ—	‘	“€IØ—‘“€JØ‡~�~Ó˜:Ÿ?™?Ó,Ô@Ð0@Õ@Ø×Ñ˜GÓ$¨
×(9Ñ(9¸'Ó(BÔIÀcÕIð —4‘4ØÜŸ™Ø—K‘K Ó(¨J¯L©L¸Ó,AÑAÜŸ*™*ôð ó ð ð �4‰4�˜˜uÓ%Ð%r  zaten::nec                ó   — t        | ||«      S r  )rK   rS  s      r  rŸ   rŸ   ß  s   € ô ˆa��uÓÐr  zaten::gtc                ó   — t        | ||«      S r  ©Ú_gt_impl©r(  r/  r@  s      r  r_   r_   æ  ó   € ô �A�u˜eÓ$Ð$r  c                ó,  — t        j                  |«      rmt        j                  |«      rX| j                  d|t        j                  j
                  ¬«      }| j                  d|t        j                  j
                  ¬«      }| j                  d||«      S )Nrn  ro  rè  ©r   rR  r$  rq  rr  ÚINT32r_  s      r  r^  r^  ì  sp   € Ü×Ñ Ô&¬?×+CÑ+CÀEÔ+JØ—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ�4‰4�	˜5 %Ó(Ð(r  zaten::ltc                ó   — t        | ||«      S r  ©Ú_lt_implr_  s      r  rŠ   rŠ   ó  r`  r  c                ó,  — t        j                  |«      rmt        j                  |«      rX| j                  d|t        j                  j
                  ¬«      }| j                  d|t        j                  j
                  ¬«      }| j                  d||«      S )Nrn  ro  rê  rb  r_  s      r  rf  rf  ù  sp   € Ü×Ñ Ô&¬?×+CÑ+CÀEÔ+JØ—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ�4‰4�˜˜uÓ%Ð%r  zaten::gec                ó   — t        | ||«      S r  re  r_  s      r  rZ   rZ      ó   € ô �A�u˜eÓ$Ð$r  zaten::lec                ó   — t        | ||«      S r  r]  r_  s      r  rr   rr     ri  r  zaten::__and_c                óÔ   — t        j                  |«      st        j                  d|«      ‚t        j                  |«      st        j                  d|«      ‚| j	                  d||«      S )NzOONNX export does NOT support exporting bitwise AND for non-boolean input valuesrQ  rA  r_  s      r  Ú__and_rl    ók   € ä×#Ñ# EÔ*Ü×'Ñ'ð+àó
ð 	
ô
 ×#Ñ# EÔ*Ü×'Ñ'ð+àó
ð 	
ð
 �4‰4��u˜eÓ$Ð$r  zaten::__or_c                óÔ   — t        j                  |«      st        j                  d|«      ‚t        j                  |«      st        j                  d|«      ‚| j	                  d||«      S )NzNONNX export does NOT support exporting bitwise OR for non-boolean input valuesrC  rA  r_  s      r  Ú__or_ro    sk   € ä×#Ñ# EÔ*Ü×'Ñ'ð+àó
ð 	
ô
 ×#Ñ# EÔ*Ü×'Ñ'ð+àó
ð 	
ð
 �4‰4��e˜UÓ#Ð#r  zaten::__xor_c                óÔ   — t        j                  |«      st        j                  d|«      ‚t        j                  |«      st        j                  d|«      ‚| j	                  d||«      S )NzOONNX export does NOT support exporting bitwise XOR for non-boolean input valuesr€  rA  r_  s      r  Ú__xor_rq  0  rm  r  zaten::logical_andÚBoolc                ó(   — | j                  d||«      S )NrQ  r-  r_  s      r  r‚   r‚   A  ó   € ð �4‰4��u˜eÓ$Ð$r  zaten::logical_orc                ó(   — | j                  d||«      S )NrC  r-  r_  s      r  r„   r„   G  s   € ð �4‰4��e˜UÓ#Ð#r  zaten::logical_xorc                ó(   — | j                  d||«      S )Nr€  r-  r_  s      r  r…   r…   M  rt  r  zaten::logical_notc                óz   — | j                  d| j                  d|t        j                  j                  ¬«      «      S )Nr�  rn  ro  ©r$  rq  rr  ÚBOOLr.  s     r  rƒ   rƒ   S  s.   € à�4‰4��q—t‘t˜F E´×0KÑ0K×0PÑ0P�tÓQÓRÐRr  zaten::__rshift_c                ó|  — t         j                  j                  |«      }t         j                  j                  |t         j                  j                  «      |k7  r"| j	                  d||j                  «       ¬«      }| j	                  dt        j                  dt        j                  ¬«      ¬«      }t        j                  |«      s,| j	                  d|t        j                  j                  ¬«      }| j	                  d||«      }| j	                  d||j                  «       ¬«      }| j	                  d||«      }|S )	Nrn  ro  r]  r¾  r~  r^  ÚPowrm  ©r	   rt  ru  rv  r$  ry  r`  rù   Úfloat32r   rw  rq  rr  rx  )r(  r<  r@  rÃ  ÚtwoÚtwo_powÚrshifts          r  Ú	__rshift_r�  X  ó  € ô #×0Ñ0×;Ñ;¸DÓAÐä×!Ñ!×,Ñ,¨U´K×4MÑ4M×4WÑ4WÓXØò	ð —‘ØØØ!×+Ñ+Ó-ð ó 
ˆð �$‰$ˆz¤5§<¡<°¼¿¹Ô#Gˆ$Ó
H€Cä×!Ñ! $Ô'Ø—‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆØ�d‰d�5˜#˜uÓ%€GØ�d‰dØØØ×'Ñ'Ó)ð ó €Gð
 �T‰T�%˜˜wÓ'€FØ€Mr  zaten::__lshift_c                ó|  — t         j                  j                  |«      }t         j                  j                  |t         j                  j                  «      |k7  r"| j	                  d||j                  «       ¬«      }| j	                  dt        j                  dt        j                  ¬«      ¬«      }t        j                  |«      s,| j	                  d|t        j                  j                  ¬«      }| j	                  d||«      }| j	                  d||j                  «       ¬«      }| j	                  d||«      }|S )	Nrn  ro  r]  r¾  r~  r^  r{  rE  r|  )r(  r<  r@  rÃ  r~  r  Úlshifts          r  Ú	__lshift_r…  u  r‚  r  zaten::wherec           
     ó@  — t        j                  |«      s,| j                  d|t        j                  j
                  ¬«      }|€Ht        | |«      }t        j                  | || j                  dt        j                  d«      ¬«      |«      S | j                  d|||«      S )Nrn  ro  r]  rD  r^  ré  )
r   rR  r$  rq  rr  ry  r¦   Ú_unbind_helperr`  rù   )r(  Ú	conditionr<  r@  r^  s        r  r  r  ’  s‹   € ô ×#Ñ# IÔ.Ø—D‘D˜ ´×1LÑ1L×1QÑ1Q�DÓRˆ	Ø€|Ü˜A˜yÓ)ˆ	Ü×-Ñ-Øˆy˜!Ÿ$™$˜z´5·<±<À³?˜$ÓCÀXó
ð 	
ð �4‰4�˜ D¨%Ó0Ð0r  zaten::log_softmaxc                ó6  — t        j                  |«      }|€t        j                  dd«      S |dk  r||z   }||dz   k7  }|r>t        t	        |«      «      }|d   ||   c||<   |d<   | j                  d||¬«      }|dz
  }| j                  d||¬	«      }|rm|j                  «       j                  «       d
k7  rLt        j                  |dd«      }| j                  d|t        j                  |«      j                  «       ¬«      }|r| j                  d|¬«      }|S )NrB   úfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.r   rD  r(  r  r  Ú
LogSoftmaxrr  r#  r•  r  rn  ro  )r   r™  r\  r6  r#  r$  r¡  r¬  re  r	   rt  ry  )	r(  r/  rB   r  r®  r¯  rþ  Ú	return_opr°  s	            r  r}   r}      s0  € ô  ×0Ñ0°Ó7€IØÐÜ×-Ñ-Øð7ó
ð 	
ð
 ˆQ‚wØ˜#‰oˆØ%¨¨q©Ñ0ÐáÜ”E˜)Ó$Ó%ˆØ" 2™h¨¨S©	ÐˆˆS‰	�4˜‘8Ø—‘�[ %°�Ó5ˆØ˜!‰mˆØ—‘�\ 5°�Ó5€IÙ�—‘“×"Ñ"Ó$Ð(8Ò8Ü&×1Ñ1°%¸¸gÓFˆØ—D‘DØ�I¤K×$=Ñ$=¸lÓ$K×$UÑ$UÓ$Wð ó 
ˆ	ñ Ø—D‘D˜ i¸�DÓ=ˆ	ØÐr  zaten::_log_softmaxc                ó  — |rt         j                  j                  |t         j                  j                  «      t         j                  j                  k(  r,| j                  d|t        j                  j                  ¬«      }t        | ||«      S ©Nrn  ro  )
r	   rt  ru  rv  ÚHALFr$  rq  rr  rx  r}   )r(  r/  rB   Úhalf_to_floats       r  Ú_log_softmaxr‘  Á  ss   € ñ 	Ü×%Ñ%×0Ñ0Ø”;×,Ñ,×6Ñ6ó
ô ×$Ñ$×)Ñ)ò*ð
 —‘�V˜U¬×)DÑ)D×)JÑ)J�ÓKˆÜ�q˜% Ó%Ð%r  zaten::_convolutionc                óp  — t        j                  |«      }	 |dd  }|�t        d„ |D «       «      rt	        j
                  d|«      ‚||g}t        j                  |«      s)t        j                  |«      dk(  r|j                  |«       |dd  |||z   ||	dœ}t        d„ |D «       «      r"|sJ ‚t        |«      t        |«      k(  sJ ‚||d<    | j                  |rdnd	g|¢­i |¤Ž}t        j                  |«      s+t        j                  |«      dk7  r| j                  d
||«      S |S # t        $ r d }Y �Œw xY w)Nr¾  c              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   rµ  s     r  rœ  z_convolution.<locals>.<genexpr>ë  ó   è ø€ Ò"C° 1¨¤9Ñ"Cùr¶  úDUnsupported: ONNX export of convolution for kernel of unknown shape.rD  )rÌ  rÎ  rÍ  Údilations_iÚgroup_ic              3  ó&   K  — | ]	  }|d k7  –— Œ y­wr˜  r   )rš  Úos     r  rœ  z_convolution.<locals>.<genexpr>	  s   è ø€ Ò
*�aˆ1��6Ñ
*ùs   ‚Úoutput_padding_iÚConvTransposeÚConvrB  )r   r†  r   r¸  r
   rj  rE  r™  r  rV  r$  )r(  r/  r?  Úbiasr»  r¼  rÇ  Ú
transposedÚoutput_paddingÚgroupsÚ	benchmarkÚdeterministicÚcudnn_enabledÚ
allow_tf32Úweight_sizeÚkernel_shaperX  rÔ  r)  s                      r  Ú_convolutionr§  Ï  s_  € ô( "×3Ñ3°FÓ;€KðØ" 1 2�ˆð ÐœsÑ"C°lÔ"CÔCÜ×'Ñ'ØRØó
ð 	
ð
 �6ˆ?€Dô ×$Ñ$ TÔ*Ü×,Ñ,¨TÓ2°aÒ7à�‰�DÔð & a b˜/Øð ˜GÑ#ØØñ€Fô Ñ
*˜>Ô
*Ô*ñ ÐˆzÜ�6‹{œc .Ó1Ò1Ð1Ð1Ø%3ˆÐ!Ñ"àˆ�‰¡
‰_°ÐH¸ÒHÀÑH€Aô ×$Ñ$ TÔ*Ü×,Ñ,¨TÓ2°aÒ7à�t‰t�E˜1˜dÓ#Ð#àˆøô[ ò ð ‹ðús   —D& Ä&D5Ä4D5zaten::_convolution_modec                ó  — t        j                  |«      }	 |dd  }	|	�t        d„ |	D «       «      rt	        j
                  d|«      ‚||g}
t        j                  |«      s)t        j                  |«      dk(  r|
j                  |«       |dk(  rd}n|dk(  rd}|dd  ||||d	œ} | j                  d
g|
¢­i |¤Ž}t        j                  |«      s+t        j                  |«      dk7  r| j                  d||«      S |S # t        $ r d }	Y Œëw xY w)Nr¾  c              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   rµ  s     r  rœ  z$_convolution_mode.<locals>.<genexpr>2	  r”  r¶  r•  rD  ÚvalidÚVALIDÚsameÚ
SAME_UPPER)rÌ  rÎ  Ú
auto_pad_sr–  r—  rœ  rB  )
r   r†  r   r¸  r
   rj  rE  r™  r  r$  )r(  r/  r?  r�  r»  r¼  rÇ  r   r¥  r¦  rX  rÔ  r)  s                r  Ú_convolution_moder¯  	  s2  € ô( "×3Ñ3°FÓ;€KðØ" 1 2�ˆð ÐœsÑ"C°lÔ"CÔCÜ×'Ñ'ØRØó
ð 	
ð
 �6ˆ?€Dô ×$Ñ$ TÔ*Ü×,Ñ,¨TÓ2°aÒ7à�‰�DÔà�'ÒØ‰Ø	�FÒ	Øˆà% a b˜/ØØØØñ€Fð 	ˆ�‰ˆVÐ%�dÒ%˜fÑ%€Aô ×$Ñ$ TÔ*Ü×,Ñ,¨TÓ2°aÒ7à�t‰t�E˜1˜dÓ#Ð#àˆøôO ò ð Šðús   —C: Ã:DÄDzaten::convolutionc
                ó2   — t        | |||||||||	d d d d «      S r  ©r§  )
r(  r/  r?  r�  r»  r¼  rÇ  rž  rŸ  r   s
             r  r<   r<   W	  s;   € ô Ø	ØØØØØØØØØØØØØóð r  zaten::conv1dc                ó¶   — t        j                  |d«      }|dv rt        | |||||||«      S t        j                  |d«      }t        | ||||||dd|d d d d «      S ©Nre  )rª  r¬  r'  Fr   ©r   rÿ  r¯  r§  ©	r(  r/  r?  r�  r»  r¼  rÇ  r   Ústr_paddings	            r  r8   r8   w	  ó�   € ô
 "×,Ñ,¨W°cÓ:€KØÐ'Ñ'Ü ØØØØØØØØó	
ð 		
ô "×,Ñ,¨W°dÓ;ˆÜØØØØØØØØØØØØØØó
ð 	
r  zaten::conv2dc                ó¶   — t        j                  |d«      }|dv rt        | |||||||«      S t        j                  |d«      }t        | ||||||dd|d d d d «      S r³  r´  rµ  s	            r  r9   r9   œ	  r·  r  zaten::conv3dc                ó¶   — t        j                  |d«      }|dv rt        | |||||||«      S t        j                  |d«      }t        | ||||||dd|d d d d «      S r³  r´  rµ  s	            r  r:   r:   Á	  r·  r  zaten::conv_transpose1dc	                ó2   — t        | ||||||d||d d d d «      S ©NTr±  ©	r(  r/  r?  r�  r»  r¼  rŸ  r   rÇ  s	            r  r5   r5   æ	  ó;   € ô Ø	ØØØØØØØØØØØØØóð r  zaten::conv_transpose2dc	                ó2   — t        | ||||||d||d d d d «      S r»  r±  r¼  s	            r  r6   r6   
  r½  r  zaten::conv_transpose3dc	                ó2   — t        | ||||||d||d d d d «      S r»  r±  r¼  s	            r  r7   r7   $
  r½  r  zaten::batch_normc
                ó‚  — t        j                  |d«       t        j                  «       rFt        j                  |||||g«      s,t
        j                  dk  rt        j                  dddd|«      S t        j                  | |||||«      \  }}}}| j                  d||||||d|z
  |sdnd¬«	      }
|s|
S |
\  }}}}}|j                  |j                  «       «       |j                  |j                  «       «       |j                  d	|j                  «       z   «       |j                  d	|j                  «       z   «       |S )
Nr#   é   ÚBatchNormalizationr  zaAll input tensors must have the same `dtype`. Turn off Autocast or export using opset version 15.rD  r*  )Ú	epsilon_fÚ
momentum_fr[  zbatch_norm_dead_output-)r   Úcheck_training_moder`  Úis_autocast_enabledÚargs_have_same_dtyper   Úexport_onnx_opset_versionrH  Ú_batchnorm_helperr$  r%  r  ÚsetDebugNameÚ	debugName)r(  r/  r?  r�  Úrunning_meanÚrunning_varÚtrainingÚmomentumÚepsr£  rz  ÚresÚnew_running_meanÚnew_running_varÚ
saved_meanÚ	saved_vars                   r  r#   r#   C
  s[  € ô ×'Ñ'¨°,Ô?ô 	×!Ñ!Ô#Ü×4Ñ4Ø�F˜D ,°Ð<ô
ô ×-Ñ-°Ò2ä×?Ñ?Ø ØØðCàó
ð 	
ô />×.OÑ.OØ	ˆ5�&˜$ ¨kó/Ñ+€FˆD�, ð �$‰$ØØØØØØØØ�x‘<Ù!‘ qð ó 
€Cñ Øˆ
àHKÑEˆÐ˜°
¸IØ× Ñ  ×!2Ñ!2Ó!4Ô5Ø×Ñ × 0Ñ 0Ó 2Ô3Ø×ÑÐ 9¸J×<PÑ<PÓ<RÑ RÔSØ×ÑÐ8¸9×;NÑ;NÓ;PÑPÔQØˆ
r  zaten::native_layer_normc                ó  — t        t        |«      dd«      D �cg c]  }| ‘Œ }}t        j                  | d«      }t        j                  | |«      }	| j                  dk  r| j                  d||¬«      }
nG| j                  d|| j                  dt        j                  |t        j                  ¬«      ¬	«      «      }
t        | ||
«      }t        j                  j                  |«      t        j                  j                  k(  }|rTt        j                  j                  |	«      }| j                  d
|t        j                  |«      j                  «       ¬«      }| j                  dk  r | j                  dt        | ||«      |¬«      }nR| j                  dt        | ||«      | j                  dt        j                  |t        j                  ¬«      ¬	«      «      }t!        | | j                  d||	«      «      }| j                  d||«      }|rTt        j                  j                  |«      }| j                  d
|t        j                  |«      j                  «       ¬«      }|�"t        j"                  |«      st%        | ||«      }|�"t        j"                  |«      st'        | ||«      }|rH| j                  d
|t        j                  «      j                  «       ¬«      }| j                  d|«      }nt)        | |«      }||
|fS c c}w )Nr   r(  ç       @é   r  r€  r]  r~  r^  rn  ro  rB  rm  r“  )r#  rV  r   Ú_generate_wrapped_numberr  r$  r`  rù   Úlongró   r	   rt  ru  r�  ry  r³   rí   rE  rš   r   rÎ   )r(  r/  Únormalized_shaper?  r�  rÐ  r•  rþ  Útwo_cstÚeps_cstr  Ú	numeratorÚis_type_halfÚ	eps_dtypeÚvarianceÚdenominatorÚ
normalizedÚinput_dtypeÚrdenominators                      r  rž   rž   |
  sª  € ô œcÐ"2Ó3°Q¸Ó;Ö<�1ˆQŠBÐ<€DÐ<ä×6Ñ6°q¸#Ó>€GÜ×6Ñ6°q¸#Ó>€Gà‡w�w�‚|Ø�t‰t�L %°ˆtÓ5‰à�t‰tØØØ�D‰D�¤U§\¡\°$¼e¿j¹jÔ%IˆDÓJó
ˆô �A�u˜dÓ#€Iô 	×!Ñ!×,Ñ,¨YÓ7Ü×$Ñ$×)Ñ)ñ	*ð ñ Ü×-Ñ-×8Ñ8¸ÓAˆ	Ø—D‘DØ�I¤K×$=Ñ$=¸iÓ$H×$RÑ$RÓ$Tð ó 
ˆ	ð
 	‡w�w�‚|Ø—4‘4˜¤c¨!¨Y¸Ó&@È�4ÓN‰à—4‘4ØÜ��9˜gÓ&Ø�D‰D�¤U§\¡\°$¼e¿j¹jÔ%IˆDÓJó
ˆô �q˜!Ÿ$™$˜u h°Ó8Ó9€KØ—‘�e˜Y¨Ó4€Jñ Ü!×/Ñ/×:Ñ:¸5ÓAˆØ—T‘TØ�J¤[×%>Ñ%>¸{Ó%K×%UÑ%UÓ%Wð ó 
ˆ
ð ˆNœo×6Ñ6°vÔ>Ü˜˜J¨Ó/ˆ
ØˆLœO×4Ñ4°TÔ:Ü˜˜J¨Ó-ˆ
ñ
 Ø—d‘dØØÜ×*Ñ*¨;Ó7×AÑAÓCð ó 
ˆð
 —t‘t˜L¨+Ó6‰ä! ! [Ó1ˆà�t˜\Ð)Ð)ùòC =s   ™
Lzaten::layer_normc                ó.   — t        | |||||«      \  }}}|S r  )rž   )	r(  r/  rÛ  r?  r�  rÐ  Úcudnn_enablerã  rÖ  s	            r  rq   rq   Ë
  s'   € ô )¨¨EÐ3CÀVÈTÐSVÓWÑ€J��1ØÐr  zaten::instance_normc
                ó²  — t        j                  |d«       t        j                  |d«      }
|�t        j                  |«      rq|
€t	        j
                  d|«      ‚t        j                  dg|
z  t        j                  j                  |«      j                  «       ¬«      }| j                  d|¬«      }|�t        j                  |«      rq|
€t	        j
                  d|«      ‚t        j                  dg|
z  t        j                  j                  |«      j                  «       ¬«      }| j                  d|¬«      }|�,t        j                  |«      s|�t        j                  |«      r| j                  d	||||¬
«      S t        j                  |«      }|j                  «       }|d   }|€t	        j
                  d|«      ‚|d   }d|d<   ||z  |d<   t        | || j                  dt        j                  |gt        j                   ¬«      ¬«      «      }t        | || j                  dt        j                  |gt        j                   ¬«      ¬«      «      }t        | || j                  dt        j                  |gt        j                   ¬«      ¬«      «      }t        | || j                  dt        j                  |gt        j                   ¬«      ¬«      «      }| j                  d|| j                  dt        j"                  |«      ¬«      «      }t%        | |||||||||	«
      }t'        | || j                  dt        j                  |«      ¬«      «      S )Nrk   rD  zCUnsupported: ONNX export of instance_norm for unknown channel size.r¯  r~  r]  r^  r®  ÚInstanceNormalization©rÃ  r   zJUnsupported: ONNX export of instance_norm training for unknown batch size.ÚReshape)r   rÅ  rŸ  rE  r
   rj  r`  rù   r	   rt  ru  r  r$  r†  ÚcopyrÔ   rƒ  r,  r#   r  )r(  r/  r?  r�  rÌ  rÍ  Úuse_input_statsrÏ  rÐ  r£  Úchannel_sizeÚweight_valueÚ
bias_valueÚ
input_sizeÚinput_size_reshaper)  ÚcÚweight_Úbias_Úrunning_mean_Úrunning_var_Úinput_reshapedrz  s                          r  rk   rk   Û
  s  € ô ×'Ñ'¨¸ÔIÜ"×7Ñ7¸¸qÓA€LØ€~œ×1Ñ1°&Ô9ØÐÜ×+Ñ+ØUØóð ô —|‘|ØˆE�LÑ Ü×+Ñ+×6Ñ6°uÓ=×CÑCÓEô
ˆð —‘�j¨,�Ó7ˆØ€|”×/Ñ/°Ô5ØÐÜ×+Ñ+ØUØóð ô —\‘\ØˆE�LÑ Ü×+Ñ+×6Ñ6°uÓ=×CÑCÓEô
ˆ
ð �t‰t�J¨
ˆtÓ3ˆàÐÜ×#Ñ# LÔ1ØÐÜ×#Ñ# KÔ0à�t‰tÐ+¨U°F¸DÈCˆtÓPÐPä$×6Ñ6°uÓ=ˆ
ð (Ÿ_™_Ó.ÐØ�q‰MˆØˆ9Ü×+Ñ+ðàóð ð
 �q‰MˆØ !Ð˜1ÑØ ! A¡Ð˜1ÑÜØˆv�q—t‘t˜J´·±¸a¸SÌÏÉÔ0T�tÓUó
ˆô Øˆt�Q—T‘T˜*¬e¯l©l¸A¸3ÄeÇkÁkÔ.R�TÓSó
ˆô ØØØ�D‰D�¤U§\¡\°1°#¼U¿[¹[Ô%IˆDÓJó
ˆô
 ØØØ�D‰D�¤U§\¡\°1°#¼U¿[¹[Ô%IˆDÓJó
ˆð
 Ÿ™ØØØ�D‰D�¤U×%5Ñ%5Ð6HÓ%IˆDÓJó
ˆô
 ØØØØØØØØØØó
ˆô �A�s˜AŸD™D ´U·\±\À*Ó5M˜DÓNÓOÐOr  zaten::unfoldc                ój  — t        j                  |«      }	 ||   }|�ãt        d||«      }t        ||dz   |«      }t	        ||«      D �	�
cg c]"  \  }	}
t        j
                  | ||g|	g|
g¬«      ‘Œ$ }}	}
t        |«      }t        t        d|«      «      }|j                  |j                  |«      «       |D �cg c],  }t        j                  | | j                  d||¬«      |g«      ‘Œ. }} | j                  dg|¢­d|iŽS t        j                  dd	|«      S # t        $ r d }Y �Œ
w xY wc c}
}	w c c}w )
Nr   rD  rq  r  r  r3  r4  ÚUnfoldr·  )r   r†  r   r#  rÒ  rs  rV  r6  r  Úpopr§  r$  r\  )r(  r/  Ú	dimensionrå   Ústepr½  ÚsizedimÚlow_indicesÚ
hi_indicesÚlowÚhirð   r$  r%  rô   r  s                   r  r  r  <  s`  € ô ×-Ñ-¨eÓ4€EðØ˜	Ñ"ˆð
 ÐÜ˜A˜w¨Ó-ˆÜ˜4 ¨1¡¨dÓ3ˆ
ô
 ˜{¨JÓ7÷	
ñ ��Rô ×)Ñ)Ø�5 	˜{°C°5À¸töð
ˆñ 
ô �5‹zˆÜ”E˜!˜T“NÓ#ˆØ�‰�D—H‘H˜YÓ'Ô(ð
 ö	
ð ô ×-Ñ-Ø�1—4‘4˜ Q¨t�4Ó4°y°kõð
ˆ	ð 
ð ˆq�t‰t�HÐ;˜yÒ;°Ñ;Ð;ä×-Ñ-ØÐ1°5ó
ð 	
øô1 ò ð ‹ðüó
ùò
s   —D Á
'D*Â81D0ÄD'Ä&D'z	aten::eluc                óÈ   — |r|dk7  rt        j                  dd|«      S |r|dk7  rt        j                  dd|«      S | j                  d|t        j                  |«      ¬«      S )Nr¯  rÖ  zdoes not support scale in EluÚinput_scalez#does not support input_scale in EluÚElur   )r   r\  r$  rI  )r(  r/  rL  rÖ  r  s        r  rF   rF   `  sq   € ñ �˜#’Ü×-Ñ-ØÐ4°eó
ð 	
ñ �{ cÒ)Ü×-Ñ-ØÐ@À+ó
ð 	
ð �4‰4��u¤o×&=Ñ&=¸eÓ&Dˆ4ÓEÐEr  z
aten::seluc                ó&   — | j                  d|«      S )NÚSelur-  r.  s     r  rà   rà   p  s   € ð �4‰4�˜ÓÐr  zaten::index_selectc                ó2   — t        j                  | |||«      S r  )r   Ú_select_helper)r(  r<  rB   rj   s       r  ri   ri   v  s   € ô ×)Ñ)¨!¨T°3¸Ó>Ð>r  zaten::index_putc                óú   — t        j                  |«      rt        j                  |«      }n|g}t        j                  |d«      }t	        |«      dk(  r|rt        | ||«      S |S t        j                  ddd|«       y )Nr9  r   rh   r  rC  )r   r-  r�  rÿ  rV  r   r  )r(  r<  Úindices_list_valueÚvaluesÚ
accumulateÚindices_lists         r  rh   rh     st   € ä×&Ñ&Ð'9Ô:Ü&×3Ñ3Ð4FÓG‰à*Ð+ˆä ×+Ñ+¨J¸Ó<€Jä
ˆ<Ó˜AÒÙÜ�q˜$ Ó'Ð'ØˆÜ×+Ñ+¨K¸¸BÀÕEr  zaten::index_fillc                óÈ   — t        j                  | |||«      \  }}t        j                  |«      }t        j                  ||«      }t	        | ||d «      }t        | ||||«      S r  )r   Ú_index_fill_reshape_helperrJ  rÔ  rO   rÞ   )r(  r<  rB   rj   rc  Úexpanded_index_shapeÚexpanded_indexÚexpanded_values           r  rg   rg   �  si   € ä+:×+UÑ+UØ	ˆ4��eó,Ñ(Ð˜.ô ×-Ñ-¨eÓ4€EÜ×.Ñ.¨u°dÓ;€EÜ˜A˜uÐ&:¸DÓA€Nä�1�d˜C °Ó@Ð@r  zaten::index_copyc                óV   — t        j                  | |||«      \  }}t        | ||||«      S r  )r   r  rÞ   )r(  r<  rB   rj   ÚsourceÚ_expanded_index_shaper  s          r  rf   rf   ›  s6   € ä,;×,VÑ,VØ	ˆ4��eó-Ñ)Ð˜>ô �1�d˜C °Ó8Ð8r  zaten::bucketizec                ó  — t         j                  j                  }|rt         j                  j                  }| j	                  d| j	                  d|«      | j	                  d|«      d¬«      }t        j                  |«      }|€J ‚t        t        d|dz   «      «      }t        | t        j                  | ||«      |d «      }	|rt        | ||	«      }
nt        | ||	«      }
| j	                  d|
|¬«      }t        j                  | |dgd¬«      S )	Nr3  r,  r   rr  rD  rn  ro  r©  )rq  rr  rs  rc  r$  r   r™  r6  r#  rO   r§  rZ   r_   r­  )r(  r<  Ú
boundariesÚ	out_int32r  Úout_typeÚ	new_shapeÚtensor_rankÚunsqueeze_axesÚexpanded_boundariesÚcondÚcond_outs               r  r*   r*   £  s  € ô
 ×*Ñ*×0Ñ0€HÙÜ×.Ñ.×4Ñ4ˆð —‘�X˜qŸt™t G¨ZÓ8¸!¿$¹$¸wÈÓ:MÐVW�ÓX€Iô "×2Ñ2°4Ó8€KØÐ"Ð"Ð"Üœ%  ;°¡?Ó3Ó4€NÜ Ø	Ü×)Ñ)¨!¨Z¸ÓHØØó	Ðñ Ü�!�TÐ.Ó/‰ä�!�TÐ.Ó/ˆØ�t‰t�F˜D xˆtÓ0€Hô ×,Ñ,¨Q°À!ÀÐQRÔSÐSr  zaten::type_asc                óÜ   — t        j                  |«      }t        j                  |«      }||k(  r|�|S |�"| j                  d||j                  «       ¬«      S t	        j
                  d|«      ‚)Nrn  ro  z–Unsupported: ONNX export of type_as for tensor of unknown dtype. Please check if the dtype of the parameter passed to the type_as function is correct.)r   r¿  r$  ry  r
   rj  )r(  r<  r@  Ú
self_dtypeÚother_dtypes        r  rÿ   rÿ   È  s�   € ä ×5Ñ5°dÓ;€JÜ!×6Ñ6°uÓ=€KØ�[Ò  ZÐ%;ØˆØÐØ�t‰tØØØ×&Ñ&Ó(ð ó 
ð 	
ô ×
#Ñ
#ð	?ð 	ó	ð r  zaten::cosine_similarityc                óˆ  — t        j                  | t        | ||«      |gd¬«      }t        j                  | t        | ||«      |gd¬«      }t        j                  | t        | ||«      |gd¬«      }t        | t	        | t        | ||«      «      | j                  dt        j                  |g«      ¬«      «      }t        | ||«      S )Nr   r©  r]  r^  )	r   r­  rš   r‘   rí   r$  r`  rù   rC   )	r(  Úx1Úx2rB   rÐ  r?   Úx1_l2Úx2_l2Údiv_tenss	            r  r>   r>   Ý  s¿   € ô ×-Ñ-Ø	Œ3ˆq�"�b‹> 3 %°Aô€Eô ×-Ñ-Ø	Œ3ˆq�"�b‹> 3 %°Aô€Eô ×-Ñ-Ø	Œ3ˆq�"�b‹> 3 %°Aô€Eô Ø	Œ4�”3�q˜% Ó'Ó(¨!¯$©$¨zÄ5Ç<Á<ÐQTÐPUÓCV¨$Ó*Wó€Hô ˆq�%˜Ó"Ð"r  zaten::pairwise_distancec                ó¶  — t        j                  |«      s'| j                  dt        j                  |g«      ¬«      }t        | | j                  dt        j                  dgt        j                  ¬«      ¬«      t        | ||«      «      }t        j                  | t        | t        | ||«      |«      dgt        j                  |d«      ¬«      }t        | ||«      S )Nr]  r^  rD  r~  r(  r•  r©  )r   rF  r$  r`  rù   rC   rŽ  r   r­  r³   ró   rÿ  )r(  Úinput1Úinput2ÚprÐ  r2  Úinv_pÚ	summations           r  r¯   r¯   ï  s¶   € ä×$Ñ$ SÔ)Ø�d‰d�:¤u§|¡|°S°EÓ':ˆdÓ;ˆÜØ	Ø	�‰ˆZ¤§¡¨q¨c¼¿¹Ô!EˆÓFÜˆAˆq�#‹ó€Eô
  ×1Ñ1Ø	ÜˆAŒs�1�f˜fÓ% qÓ)ØˆtÜ"×-Ñ-¨g°sÓ;ô	€Iô ˆq�)˜UÓ#Ð#r  zaten::clonec                ó   — |S r  r   )r(  r/  Úunused_memory_formats      r  r1   r1     ó	   € ð €Lr  z	aten::absc                ó&   — | j                  d|«      S )NÚAbsr-  r”  s     r  r   r     rÌ  r  z	aten::logc                ó&   — | j                  d|«      S )NÚLogr-  r”  s     r  r~   r~     rÌ  r  zaten::log1pc                ó~   — t        | t        | t        j                  t	        j
                  d«      |«      |«      «      S )NrD  )r~   r   r   rÔ  r`  r¬   r”  s     r  r€   r€     s.   € äˆq”#�aœ×;Ñ;¼E¿J¹JÀq»MÈ4ÓPÐRVÓWÓXÐXr  zaten::log10c           
     óŠ   — d}| j                  dt        | |«      | j                  dt        j                  |g«      ¬«      «      S )NgUµ»±k@rm  r]  r^  ©r$  r~   r`  rù   )r(  r<  Ú_ln10s      r  r   r     s8   € à"€EØ�4‰4�”s˜1˜d“| Q§T¡T¨*¼e¿l¹lÈEÈ7Ó>S TÓ%TÓUÐUr  z	aten::powc                óz  — t         j                  j                  |«      }t        j                  |«      s<t         j                  j
                  }| j                  d||j                  «       ¬«      }t        j                  |«      s"| j                  d||j                  «       ¬«      }| j                  d||«      }|S )Nrn  ro  r{  )r	   rt  ru  r   rw  rx  r$  ry  )r(  r<  ÚexponentÚf_dtyper³   s        r  r³   r³     s    € ä×'Ñ'×2Ñ2°4Ó8€GÜ×!Ñ! $Ô'Ü×+Ñ+×1Ñ1ˆØ�t‰t�F˜D w×'8Ñ'8Ó':ˆtÓ;ˆÜ×!Ñ! (Ô+Ø—4‘4ØØØ×"Ñ"Ó$ð ó 
ˆð
 �$‰$ˆu�d˜HÓ
%€CØ€Jr  zaten::clampc           
     ó”  — t        j                  |«      rt        | ||«      S t        j                  |«      rt        | ||«      S t        j                  |«      rXt        j                  |«      rCt        j
                  | d|t        j                  |d«      t        j                  |d«      d¬«      S t        | t        | ||«      |«      S )NÚCliprZ  é   ©Úmin_fÚmax_fr‘  )r   rE  r.   r/   rž  r“  rÿ  )r(  r<  r”   r‘   s       r  r0   r0   ,  s²   € ô ×Ñ Ô$Ü˜˜D #Ó&Ð&Ü	×	!Ñ	! #Ô	&Ü˜˜D #Ó&Ð&ä×'Ñ'¨Ô,´×1MÑ1MÈcÔ1RÜ"×?Ñ?ØØØÜ%×0Ñ0°°cÓ:Ü%×0Ñ0°°cÓ:Øôð ô ˜Q¤	¨!¨T°3Ó 7¸Ó=Ð=r  zaten::clamp_minc           	     ó>  — t        j                  |«      r.t        j                  | d|t        j                  |d«      d¬«      S t        j
                  j                  |«      }| j                  d||j                  «       ¬«      }t        j                  | d||d¬«      S )	Nr?  rZ  r@  )rB  r‘  rn  ro  ÚMaxr�  ©	r   rž  r“  rÿ  r	   rt  ru  r$  ry  )r(  r<  r”   r  s       r  r/   r/   B  ó�   € ô ×#Ñ# CÔ(Ü×;Ñ;Øˆv�t¤?×#=Ñ#=¸cÀ3Ó#GÐVXô
ð 	
ô ×)Ñ)×4Ñ4°TÓ:ˆØ�d‰d�6˜3 U§_¡_Ó%6ˆdÓ7ˆÜ×;Ñ;Øˆu�d˜C¨bô
ð 	
r  zaten::clamp_maxc           	     ó>  — t        j                  |«      r.t        j                  | d|t        j                  |d«      d¬«      S t        j
                  j                  |«      }| j                  d||j                  «       ¬«      }t        j                  | d||d¬«      S )	Nr?  rZ  r@  )rC  r‘  rn  ro  ÚMinr�  rF  )r(  r<  r‘   r  s       r  r.   r.   Q  rG  r  z	aten::maxc                ó2   — t        j                  | |||«      S r  )r   Ú_max_helper©r(  r<  Údim_or_yr2  s       r  r‘   r‘   `  s   € ô
 ×&Ñ& q¨$°¸'ÓBÐBr  zaten::maximumc                ó   — t        | ||¬«      S ©N)rM  )r‘   r_  s      r  r’   r’   h  ó   € ô ˆq�% %Ô(Ð(r  z	aten::minc                ó2   — t        j                  | |||«      S r  )r   Ú_min_helperrL  s       r  r”   r”   n  s   € ô ×&Ñ& q¨$°¸'ÓBÐBr  zaten::minimumc                ó   — t        | ||¬«      S rO  )r”   r_  s      r  r•   r•   t  rP  r  z
aten::amaxc                ó,   — | j                  d|||¬«      S )Nr¨  r©  r-  ©r(  r<  rB   r2  s       r  r   r   z  ó   € ð �4‰4�˜T¨#¸'ˆ4ÓBÐBr  z
aten::aminc                ó,   — | j                  d|||¬«      S )NÚ	ReduceMinr©  r-  rU  s       r  r   r   �  rV  r  zaten::aminmaxc                ó¾   — d|i}t        j                  |«      st        j                  |dd«      }|g|d<    | j                  d|fi |¤Ž | j                  d|fi |¤ŽfS )Nrª  r•  rB   rú  rX  r¨  )r   rE  re  r$  )r(  r<  rB   r2  Úreduce_kwargss        r  r   r   ˆ  su   € ð " 7Ð+€MÜ×#Ñ# CÔ(Ü×(Ñ(¨¨c°5Ó9ˆØ#& %ˆ�hÑàˆ1�4‰4�˜TÑ3 ]Ñ3°T°Q·T±TØ�Tñ6Ø*ñ6ð ð r  z	aten::expc                ó&   — | j                  d|«      S )Nr«  r-  r”  s     r  rM   rM   –  rÌ  r  zaten::dropout_zaten::dropoutc                ój   — t        j                  |d«       |s|S | j                  d||d¬«      \  }}|S )NrE   ÚDropoutr¾  )Úratio_fr[  )r   rÅ  r$  )r(  r/  r-  ÚtrainrÕ  rÖ  s         r  rE   rE   ›  s;   € ô ×'Ñ'¨¨yÔ9áØˆØ�4‰4�	˜5¨!°Qˆ4Ó7�D€A€qØ€Hr  zaten::alpha_dropout_zaten::feature_alpha_dropout_zaten::feature_dropout_zaten::feature_alpha_dropoutzaten::alpha_dropoutzaten::feature_dropoutc                óF   ‡ — t        j                  ddd«      ˆ fd„«       }|S )NrY  r  r9  c                ó:   •— |rt        j                  ‰d|«      S |S )Nztraining mode)r   r\  )r(  r/  r-  r_  r  s       €r  Úfeature_dropoutz-_unsupported_dropout.<locals>.feature_dropoutÀ  s"   ø€ ñ Ü"×1Ñ1°$¸ÈÓOÐOØˆr  ©r   rÝ  )r  rb  s   ` r  Ú_unsupported_dropoutrd  §  s.   ø€ ô2 ×Ñ  V¨SÓ1óó 2ðð Ðr  z
aten::normc                óR  — |dk(  rt        j                  d«      }n1|dk(  rt        j                  d«      }nt        j                  d|«      ‚ || |||¬«      }|�Lt        j                  |dd«      }| j                  d	|t        j                  |«      j                  «       ¬
«      }|S )NrD  ÚReduceL1r¾  ÚReduceL2z)ONNX export only p-norms with p of 1 or 2)rB   r2  r•  r  rn  ro  )	r   Ú_reduce_op_symbolic_helperr
   rj  re  r$  r	   rt  ry  )r(  r<  r-  rB   r2  r  rZ  ró  s           r  r§   r§   Ê  s£   € ð 	ˆA‚vÜ×6Ñ6°zÓB‰Ø	
ˆaŠÜ×6Ñ6°zÓB‰ä×'Ñ'Ø7¸ó
ð 	
ñ ˆq�$˜C¨Ô1€FØÐÜ×*Ñ*¨5°#°wÓ?ˆØ—‘�f˜f¬;×+DÑ+DÀUÓ+K×+UÑ+UÓ+W�ÓXˆØ€Mr  zaten::conv_tbcc           
     ó°   — | j                  d|g d¢¬«      }| j                  d|g d¢¬«      }t        | |||dg|gdgd«      }| j                  d|g d¢¬«      S )Nr  )rD  r¾  r   r  )r¾  rD  r   rD  )r¾  r   rD  )r$  r8   )r(  r/  r?  r�  r®   Úconvs         r  r4   r4   Ü  s_   € ð �D‰D�˜eªIˆDÓ6€EØ�T‰T�+˜vªiˆTÓ8€FÜ�!�U˜F D¨1¨#°¨u°q°c¸1Ó=€DØ�4‰4�˜Tª)ˆ4Ó4Ð4r  zaten::_uniquec                ó.   — t        j                  d|«      S )NÚ_uniquer  )r(  r/  ÚsortedÚreturn_inverses       r  rl  rl  ê  s   € ô ×,Ñ,¨Y¸Ó>Ð>r  zaten::_unique2c                ó4   — t        j                  ddd|«       y )NÚ_unique2r  rC  r  )r(  r/  rm  rn  Úreturn_countss        r  rp  rp  ð  s   € ô ×+Ñ+¨J¸¸2¸uÕEr  zaten::_cast_Bytez8Avoid using this function and create a Cast node insteadc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rÏ  ©r(  r/  Únon_blockings      r  Ú
_cast_Byteru  ö  ó%   € ð �4‰4�˜¤G×$?Ñ$?×$EÑ$Eˆ4ÓFÐFr  zaten::_cast_Charc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rÐ  rs  s      r  Ú
_cast_Charrx  ü  ó%   € ð �4‰4�˜¤G×$?Ñ$?×$DÑ$Dˆ4ÓEÐEr  zaten::_cast_Shortc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rÑ  rs  s      r  Ú_cast_Shortr{    rv  r  zaten::_cast_Intc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rc  rs  s      r  Ú	_cast_Intr}    rv  r  zaten::_cast_Longc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rs  rs  s      r  Ú
_cast_Longr    rv  r  zaten::_cast_Halfc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  ÚFLOAT16rs  s      r  Ú
_cast_Halfr‚    s%   € ð �4‰4�˜¤G×$?Ñ$?×$GÑ$Gˆ4ÓHÐHr  zaten::_cast_Floatc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  rx  rs  s      r  Ú_cast_Floatr„    rv  r  zaten::_cast_Doublec                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  )r$  rq  rr  r�  rs  s      r  Ú_cast_Doubler†     s%   € ð �4‰4�˜¤G×$?Ñ$?×$FÑ$Fˆ4ÓGÐGr  zaten::_cast_Boolc                óZ   — | j                  d|t        j                  j                  ¬«      S rŽ  rx  rs  s      r  Ú
_cast_Boolrˆ  &  ry  r  zaten::emptyc                ó"   — t        | |||||«      S r  )r  )r(  r½  r  ÚlayoutÚdeviceÚ
pin_memoryÚmemory_formats          r  rJ   rJ   ,  s   € ô ��E˜5 &¨&°*Ó=Ð=r  zaten::empty_likec                ó"   — t        | |||||«      S r  )r  )r(  r/  r  rŠ  r‹  rŒ  r�  s          r  rI   rI   :  s   € ô �a˜  v¨v°zÓBÐBr  zaten::new_emptyc                ó~   — t        j                  |«      }t        j                  |«      r|�|}t        | |||||«      S r  )r   r¿  rE  rJ   ©r(  r<  r½  r  rŠ  r‹  rŒ  r"  s           r  r¡   r¡   H  sA   € ô !×5Ñ5°dÓ;€JÜ×Ñ Ô&¨:Ð+AØˆÜ��E˜5 &¨&°*Ó=Ð=r  zaten::scalar_tensorc                óÖ   — t        j                  |dd«      }|€t        j                  j                  }| j                  d|t        j                  |«      j                  «       ¬«      }|S )Nr•  r  rn  ro  )r   re  r	   rt  rx  r$  ry  )r(  Úscalarr  Úoptionss       r  rÜ   rÜ   R  sY   € ä×&Ñ& u¨c°7Ó;€EØ€}Ü×)Ñ)×/Ñ/ˆØ�T‰T�&˜&¤{×'@Ñ'@ÀÓ'G×'QÑ'QÓ'SˆTÓT€FØ€Mr  zaten::tensorc                óˆ  — t        j                  |dd«      }t        j                  |«      rí|€5t        j                  j                  t        j                  |«      d   «      }g }t        j                  |«      D ]†  }| j                  dt        j                  dg«      ¬«      }t        j                  | ||«      }| j                  d|t        j                  |«      j                  «       ¬«      }|j                  |«       Œˆ  | j                  d	g|¢­d
diŽS |€t        j                  j                  |«      }t        j                  |«      r?t        j                  |«      st        j                  |«      r| j                  d|dd¬«      }| j                  d|t        j                  |«      j                  «       ¬«      S )Nr•  r  r   r]  rD  r^  rn  ro  r3  r4  ÚConcatFromSequence)r4  Ú
new_axis_i)r   re  r-  r	   rt  ru  r�  r$  r`  r,  r:  ry  r  Ú_is_listrG  Ú_is_scalar_list)r(  Údatar  r‹  Úrequires_gradr  rô   Úshape_references           r  rù   rù   [  s€  € ô ×&Ñ& u¨c°7Ó;€EÜ×&Ñ& tÔ,Øˆ=Ü×-Ñ-×8Ñ8Ü×,Ñ,¨TÓ2°1Ñ5óˆEð ˆ
Ü ×-Ñ-¨dÓ3ò 	!ˆAØŸd™d :´u×7GÑ7GÈÈÓ7L˜dÓMˆOÜ×/Ñ/°°1°oÓFˆAØ—‘�V˜Q¤[×%>Ñ%>¸uÓ%E×%OÑ%OÓ%Q�ÓRˆAØ×Ñ˜aÕ ð		!ð
 ˆq�t‰t�HÐ4˜zÒ4°!Ñ4Ð4àˆ=Ü×-Ñ-×8Ñ8¸Ó>ˆEÜ×#Ñ# DÔ)Ü×+Ñ+¨DÔ1Ü×.Ñ.¨tÔ4à—4‘4Ð,¨d¸1È�4ÓKˆDØ�4‰4�˜¤;×#<Ñ#<¸UÓ#C×#MÑ#MÓ#Oˆ4ÓPÐPr  zaten::as_tensorc                ó   — t        | |||«      S r  )rù   )r(  r™  r  r‹  s       r  r   r   w  s   € ä�!�T˜5 &Ó)Ð)r  zaten::zerosc           	     óÄ  — |€t         j                  j                  }nt        j                  |«      }t        j                  |d«      }t        |t        «      rQt        |«      dk(  rC| j                  dt        j                  g «      j                  t        j                  «      ¬«      }| j                  d|t        j                  dg|j                  «       ¬«      ¬«      S )Nr'  r   r]  r^  ÚConstantOfShaper~  ©r	   rt  rx  r   r+  r5  r6  rV  r$  r`  rù   rû   rƒ  r  ©r(  r½  r  rŠ  r‹  rŒ  r{  Úsizes_s           r  r  r  |  s°   € ð €}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆÜ×-Ñ-¨e°TÓ:€FÜ�&œ$Ô¤C¨£K°1Ò$4Ø—‘�Z¬¯©°bÓ)9×)<Ñ)<¼U¿[¹[Ó)I�ÓJˆØ�4‰4ØØÜ—‘˜a˜S¨×(9Ñ(9Ó(;Ô<ð ó ð r  zaten::zeros_likec           	     ó\  — | j                  d|«      }t        j                  |«      r9t        j                  j                  |t        j                  j                  «      }nt        j                  |«      }| j                  d|t        j                  dg|j                  «       ¬«      ¬«      S )Nr,  rž  r   r~  r^  ©
r$  r   rE  r	   rt  ru  rx  r`  rù   r  ©	r(  r/  r  rŠ  r‹  rŒ  r�  r7  r{  s	            r  r  r  Ž  ó�   € ð �D‰D�˜%Ó €EÜ×Ñ Ô&Ü!×/Ñ/×:Ñ:Ø”;×,Ñ,×2Ñ2ó
‰ô "×/Ñ/°Ó6ˆØ�4‰4ØØÜ—‘˜a˜S¨×(9Ñ(9Ó(;Ô<ð ó ð r  zaten::new_zerosc                ó~   — t        j                  |«      }t        j                  |«      r|�|}t        | |||||«      S r  )r   r¿  rE  r  r�  s           r  r¤   r¤   §  sA   € ô !×5Ñ5°dÓ;€Jä×Ñ Ô&¨:Ð+AØˆÜ��E˜5 &¨&°*Ó=Ð=r  z
aten::zeroc                óF   — t        j                  |«      }t        | ||«      S r  )r   r¿  r  )r(  r<  r"  s      r  r  r  ²  s!   € ä ×5Ñ5°dÓ;€JÜ�a˜˜zÓ*Ð*r  z
aten::onesc           	     óÄ  — |€t         j                  j                  }nt        j                  |«      }t        j                  |d«      }t        |t        «      rQt        |«      dk(  rC| j                  dt        j                  g «      j                  t        j                  «      ¬«      }| j                  d|t        j                  dg|j                  «       ¬«      ¬«      S )Nr'  r   r]  r^  rž  rD  r~  rŸ  r   s           r  r¬   r¬   ¸  s°   € ð €}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆÜ×-Ñ-¨e°TÓ:€FÜ�&œ$Ô¤C¨£K°1Ò$4Ø—‘�Z¬¯©°bÓ)9×)<Ñ)<¼U¿[¹[Ó)I�ÓJˆØ�4‰4ØØÜ—‘˜a˜S¨×(9Ñ(9Ó(;Ô<ð ó ð r  zaten::ones_likec           	     ó\  — | j                  d|«      }t        j                  |«      r9t        j                  j                  |t        j                  j                  «      }nt        j                  |«      }| j                  d|t        j                  dg|j                  «       ¬«      ¬«      S )Nr,  rž  rD  r~  r^  r£  r¤  s	            r  r«   r«   É  r¥  r  zaten::new_onesc                ó~   — t        j                  |«      }t        j                  |«      r|�|}t        | |||||«      S r  )r   r¿  rE  r¬   r�  s           r  r£   r£   â  sA   € ô !×5Ñ5°dÓ;€JÜ×Ñ Ô&¨:Ð+AØˆÜ��5˜% ¨°Ó<Ð<r  z
aten::fullc                ó  — t        j                  |d«      }t        j                  |«      r_|€t        j                  j
                  n|}t        | ||||«      }t        | ||| j                  dt        j                  d«      ¬«      «      S t        j                  |dd«      }|€t        j                  j
                  }	nt        j                  |«      }	t        j                  |d«      }
t        |
t        «      rQt        |
«      dk(  rC| j                  dt        j                  g «      j                  t        j                   «      ¬«      }| j                  d	||j#                  d«      j                  |	j%                  «       «      ¬«      S )
Nrô   r]  rD  r^  r•  r  r'  r   rž  )r   r+  rF  r	   rt  rx  r  r   r$  r`  rù   re  r5  r6  rV  rû   rƒ  r  r  )r(  r½  rc  r  rŠ  r‹  rŒ  Úconst_valueÚtmpr{  r¡  s              r  rX   rX   ì  s<  € ô "×2Ñ2°5¸#Ó>€KÜ× Ñ  Ô-Ø38°=”×)Ñ)×/Ò/ÀeˆÜ�A�u˜e V¨VÓ4ˆÜ�1�c˜5 !§$¡$ z¼5¿<¹<È»? $Ó"KÓLÐLä×*Ñ*¨5°#°wÓ?ˆØˆ=Ü%×3Ñ3×9Ñ9‰Kä%×3Ñ3°EÓ:ˆKÜ ×1Ñ1°%¸Ó>ˆÜ�fœdÔ#¬¨F«°qÒ(8Ø—D‘D˜¬U¯\©\¸"Ó-=×-@Ñ-@ÄÇÁÓ-M�DÓNˆEØ�t‰tØØØ×$Ñ$ QÓ'×*Ñ*¨;×+<Ñ+<Ó+>Ó?ð ó 
ð 	
r  zaten::full_likec                ó€  — t        j                  |d«      }t        j                  |dd«      }|€9t        j                  j                  |t        j                  j                  «      }nt        j                  |«      }t        j                  |«      rct        | ||||«      }	| j                  d||j                  «       ¬«      }t        | |	|| j                  dt        j                  d«      ¬«      «      S | j                  d	|«      }
| j                  d
|
t        j                  |g|j                  «       ¬«      ¬«      S )NrZ  r•  r  rn  ro  r]  rD  r^  r,  rž  r~  )r   r+  re  r	   rt  ru  rx  rF  r  r$  ry  r   r`  rù   r  )r(  r/  Ú
fill_valuer  rŠ  r‹  rŒ  r�  r{  r­  r7  s              r  rW   rW     s  € ô !×1Ñ1°*¸cÓB€JÜ×&Ñ& u¨c°7Ó;€EØ€}Ü!×/Ñ/×:Ñ:Ø”;×,Ñ,×2Ñ2ó
‰ô "×/Ñ/°Ó6ˆÜ× Ñ  Ô,Ü˜˜E 5¨&°&Ó9ˆØ—T‘T˜& *°;×3HÑ3HÓ3J�TÓKˆ
Ü�1�c˜: q§t¡t¨JÄÇÁÈQÃ tÓ'PÓQÐQà—‘�W˜eÓ$ˆØ�t‰tØØÜ—L‘L * °[×5FÑ5FÓ5HÔIð ó 
ð 	
r  zaten::new_fullc           	     ó€   — t        j                  |«      }t        j                  |«      r|�|}t        | ||||||«      S r  )r   r¿  rE  rX   )	r(  r<  rå   r¯  r  rŠ  r‹  rŒ  r"  s	            r  r¢   r¢   %  sC   € ô !×5Ñ5°dÓ;€JÜ×Ñ Ô&¨:Ð+AØˆÜ��4˜ U¨F°F¸JÓGÐGr  ú	aten::eyec           	     ó  — t        |«      dk(  rV|\  }}}}}t        j                  | |dg«      }| j                  d||d¬«      }t	        | ||||«      }	| j                  d|	«      S t        |«      dk(  rk|\  }}
}}}}| j                  dt        j                  | |dg«      t        j                  | |
dg«      d¬«      }t	        | ||||«      }	| j                  d|	«      S t        j
                  ddt        |«      › d	�«      S )
Nr*  r   r3  rr  ÚEyeLiker•  r±  úwith ú
 arguments)rV  r   r§  r$  r  r\  )r(  rX  r)  r  rŠ  r‹  Ú_pin_memoryrƒ  r7  rù   Úms              r  rP   rP   6  s  € ä
ˆ4ƒy�A‚~à04Ñ-ˆˆ5�&˜& +Ü"×4Ñ4°Q¸¸A¸3Ó?ˆØ—‘�X˜x¨¸!�Ó<ˆÜ�q˜% ¨°Ó7ˆØ�t‰t�I˜vÓ&Ð&Ü
ˆ4ƒy�A‚~à37Ñ0ˆˆ1ˆe�V˜V [Ø—‘ØÜ×-Ñ-¨a°°Q°CÓ8Ü×-Ñ-¨a°°Q°CÓ8Øð	 ó 
ˆô �q˜% ¨°Ó7ˆØ�t‰t�I˜vÓ&Ð&ä×)Ñ)¨+¸¼sÀ4»y¸kÈÐ7TÓUÐUr  úaten::slicec                ó  — t        |«      dk(  �rL|\  }}}}t        j                  |d«      }|dk7  rt        j                  d|«      ‚|j                  «       j                  «       dk(  xr( t        |j                  «       t        j                  «      }|j                  «       j                  «       dk(  xr( t        |j                  «       t        j                  «      }|j                  «       j                  «       dk(  }	|j                  «       j                  «       dk(  }
|s|	r%|s|
r!|j                  «       j                  «       dk7  ržt        j                  t        j                  j                  k(  rt        j                  d|«      ‚t        j                   | |dg«      }t        j                   | |dg«      }t        j                   | |dg«      }| j#                  d	||||«      S |rdnt        j                  |d«      }|rt$        j&                  nt        j                  |d«      }t        j                  |d«      }t        j(                  | ||g|g|g¬
«      S t        |«      dk(  rý|\  }}}d}|j                  «       j                  «       dk(  xr( t        |j                  «       t        j                  «      }|j                  «       j                  «       dk(  xr( t        |j                  «       t        j                  «      }|rdnt        j                  |d«      }|rt$        j&                  nt        j                  |d«      }t        j(                  | ||g|g|g¬
«      S t        j*                  ddt        |«      › d�«      S )Nr(  r•  rD  z"step!=1 is currently not supportedr#  rU  z³Unsupported: ONNX export of Slice with dynamic inputs. DynamicSlice is a deprecated experimental op. Please use statically allocated variables or export to a higher opset version.r   ÚDynamicSlicerq  rÄ  r¸  r´  rµ  )rV  r   rÿ  r
   rj  r¡  r¬  r5  r  r   ÚNoneTyper   Úoperator_export_typerq  ÚOperatorExportTypesÚONNXr§  r$  r   rý  rs  r\  )r(  r<  rX  rB   r  r  rý  Úis_start_noneÚis_end_noneÚis_start_onnx_constÚis_end_onnx_constÚstart_unsqueezedÚend_unsqueezedÚdim_unsqueezeds                 r  ræ   ræ   N  s/  € ä
ˆ4ƒy�Aƒ~à $ÑˆˆU�C˜Ü×)Ñ)¨$°Ó4ˆØ�1Š9Ü×+Ñ+Ð,PÐRVÓWÐWØŸ
™
›×)Ñ)Ó+Ð/?Ñ?ò 
ÄJØ�J‰J‹Lœ"Ÿ+™+óE
ˆð —h‘h“j—o‘oÓ'Ð+;Ñ;ò 
Ä
Ø�H‰H‹JœŸ™óA
ˆð $Ÿj™j›l×/Ñ/Ó1Ð5EÑEÐØŸH™H›JŸO™OÓ-Ð1AÑAÐáÑ*=Ù Ñ+<Ø�x‰x‹z�‰Ó Ð$4Ò4ä×+Ñ+¬w×/JÑ/J×/OÑ/OÒOÜ×/Ñ/ðEð ó	ð ô $3×#DÑ#DÀQÈÐPQÈsÓ#SÐ Ü!0×!BÑ!BÀ1ÀcÈAÈ3Ó!O�Ü!0×!BÑ!BÀ1ÀcÈAÈ3Ó!O�Ø—t‘tØ"ØØ$Ø"Ø"óð ñ '‘A¬O×,FÑ,FÀuÈcÓ,RˆEñ ô ×$Ò$ä$×/Ñ/°°SÓ9ð ô
 "×,Ñ,¨S°#Ó6ˆCÜ"×0Ñ0Ø�4˜s˜e¨U¨G¸3¸%ôð ô 
ˆT‹�aŠàÑˆˆs�DØˆØŸ
™
›×)Ñ)Ó+Ð/?Ñ?ò 
ÄJØ�J‰J‹Lœ"Ÿ+™+óE
ˆð —h‘h“j—o‘oÓ'Ð+;Ñ;ò 
Ä
Ø�H‰H‹JœŸ™óA
ˆñ #‘¬×(BÑ(BÀ5È#Ó(Nˆñ ô × Ò ä ×+Ñ+¨C°Ó5ð 	ô
 ×,Ñ,Øˆt˜3˜%¨¨°s°eô
ð 	
ô ×)Ñ)¨-¸5ÄÀTÃÀÈ:Ð9VÓWÐWr  zaten::hardtanhc                ó8   — t        j                  | d|||d¬«      S )Nr?  r@  rA  r’  )r(  r<  Úmin_valÚmax_vals       r  rd   rd   —  s$   € ô ×7Ñ7Ø	ˆ6�4˜w¨gÀBôð r  zaten::hardswishc                ó@   — t        | |«      }| j                  d||«      S rw  )rb   r$  )r(  r<  Úhss      r  rc   rc      s#   € ô 
�Q˜Ó	€BØ�4‰4��t˜RÓ Ð r  zaten::hardsigmoidc                ó*   — | j                  d|d¬«      S )NÚHardSigmoidgUUUUUUÅ?r   r-  r”  s     r  rb   rb   ¨  s   € ð �4‰4�˜t¨Uˆ4Ó3Ð3r  zaten::tanhshrinkc                ó<   — | j                  d|t        | |«      «      S )NrN  )r$  r÷   r”  s     r  rø   rø   ²  s   € ð �4‰4��tœT ! T›]Ó+Ð+r  zaten::hardshrinkc                óÈ  — t         j                  j                  |t         j                  j                  «      }| j	                  dt        j                  ||j                  «       ¬«      ¬«      }t        | t        | ||«      t        | |t        | |«      «      «      }| j	                  d||| j	                  dt        j                  d|j                  «       ¬«      ¬«      «      S ©Nr]  r~  r^  ré  r   )r	   rt  ru  rx  r$  r`  rù   r  r„   r_   rŠ   r    )r(  r<  Úlambdr{  Úlambd_opr  s         r  ra   ra   ¸  sÈ   € ô ×+Ñ+×6Ñ6ØŒk×'Ñ'×-Ñ-ó€Kð �t‰tØÜ—‘˜U¨+×*;Ñ*;Ó*=Ô>ð ó €Hô �aœ˜A˜t XÓ.´°1°d¼CÀÀ8Ó<LÓ0MÓN€DØ�4‰4ØØØØ	�‰ØÜ—L‘L ¨+×*;Ñ*;Ó*=Ô>ð 	ó 	
ó	ð r  zaten::softshrinkc                óŒ  — t         j                  j                  |t         j                  j                  «      }| j	                  dt        j                  ||j                  «       ¬«      ¬«      }t        | ||«      }| j	                  d|t        | ||«      | j	                  dt        j                  d|j                  «       ¬«      ¬«      «      }t        | |t        | |«      «      }| j	                  d|t        | ||«      | j	                  dt        j                  d|j                  «       ¬«      ¬«      «      }t        | ||«      S rÏ  )r	   rt  ru  rx  r$  r`  rù   r  r_   ró   rŠ   r    r   )	r(  r<  rÐ  r{  rÑ  Úgt_condÚgt_outÚlt_condÚlt_outs	            r  ré   ré   Î  s(  € ô ×+Ñ+×6Ñ6ØŒk×'Ñ'×-Ñ-ó€Kð �t‰tØÜ—‘˜U¨+×*;Ñ*;Ó*=Ô>ð ó €Hô ��D˜(Ó#€GØ�T‰TØØÜˆAˆt�XÓØ	�‰ØÜ—L‘L ¨+×*;Ñ*;Ó*=Ô>ð 	ó 	
ó	€Fô ��Dœ#˜a Ó*Ó+€GØ�T‰TØØÜˆAˆt�XÓØ	�‰ØÜ—L‘L ¨+×*;Ñ*;Ó*=Ô>ð 	ó 	
ó	€Fô ˆq�&˜&Ó!Ð!r  zaten::aliasc                ó   — |S r  r   r”  s     r  r   r   ï  r«  r  zaten::unsqueezec                ó0  — |dk  ryt        j                  |«      }|�Kt        j                  dt	        |«      z   dz   dz   dz   t	        ||z   dz   «      z   dz   dz   «       ||z   dz   }nt        j
                  d	d
|«      S t        j                  | ||g¬«      S )zbImplement unsqueezing a pytorch tensor in ONNX by inserting a new dimension at the specified `dim`r   z)ONNX export unsqueeze with negative axis rz  r{  r|  rD  r}  r~  r  r  r€  )r   r™  r=  r>  r�  r\  r§  rN  s       r  r  r  ô  sÉ   € ð
 ˆQ‚wÜ×/Ñ/°Ó5ˆØÐÜ�M‰MØ;Ü�c“(ñàAñBð =ñ=ð *ñ	*ô
 �c˜D‘j 1‘nÓ%ñ&ð ;ñ;ð XñXô	ð ˜‘*˜q‘.‰Cä"×1Ñ1ØÐDÀdóð ô ×,Ñ,¨Q°¸c¸UÔCÐCr  z
aten::sortc                óê   — |�t        j                  dd|«       t        j                  |«      }	 ||   }|€t        j                  dd|«      S | j	                  d|||d¬«      S # t        $ r d }Y Œ<w xY w)NÚSortz'Out parameter is not supported for sortr·  ÚTopKr¾  ©Úk_ir4  r[  )r   r\  r†  r   r$  )r(  r<  rB   Ú	decendingrz  Ú
self_sizesrƒ  s          r  rê   rê     s�   € ð €Ü×&Ñ&ØÐ=¸tô	
ô !×2Ñ2°4Ó8€JðØ˜c‘?ˆð ÐÜ×-Ñ-¨fÐ6QÐSWÓXÐXà�4‰4�˜ (°3Àˆ4ÓBÐBøô ò ð Šðús   °A$ Á$A2Á1A2zaten::numelc                ó.   — t        j                  | |«      S r  )r   Ú_numel_helperr”  s     r  r¨   r¨   %  s   € ä×(Ñ(¨¨DÓ1Ð1r  z
aten::topkc                ó’   — |�t        j                  dd|«       |st        j                  dd|«       | j                  d|||d¬«      S )NrÛ  z'Out parameter is not supported for topkzAscending TopK is not supportedr¾  rÜ  )r   r\  r$  )r(  r<  r  rB   Úlargestrm  rz  s          r  rü   rü   *  sQ   € ð €Ü×&Ñ&ØÐ=¸tô	
ñ Ü×&Ñ& vÐ/PÐRVÔWà�4‰4�˜ !¨C¸ˆ4Ó;Ð;r  zprim::convert_element_typec                ó    — t        j                  |d   dd«      }| j                  d|t        j                  |«      j                  «       ¬«      S )Nr   r•  r  rn  ro  )r   re  r$  r	   rt  ry  )r(  r<  rX  r  s       r  r;   r;   8  sC   € ä×&Ñ& t¨A¡w°°WÓ=€EØ�4‰4�˜¤;×#<Ñ#<¸UÓ#C×#MÑ#MÓ#Oˆ4ÓPÐPr  zaten::toc                óT  — d„ } ||«      r|S t        |«      dk(  �r`|d   }t        j                  |d   «      r›|d   j                  «       j	                  «       dk(  rwt        j
                  |d   j                  «       d«      }t        |t        j                  «      r6t        |j                  «      dk(  r|j                  «       }t        |«      }n|}t        j                  |«      st        |t        j                  «      rDt        j                  j                  |d   «      }| j                  d||j!                  «       ¬«      S | j                  d|t        j                  |«      j!                  «       ¬«      S t        |«      dk(  rOt        j"                  |d	   d
d«      }| j                  d|t        j                  |«      j!                  «       ¬«      S t        |«      dk(  rOt        j"                  |d   d
d«      }| j                  d|t        j                  |«      j!                  «       ¬«      S t        |«      dk(  rOt        j"                  |d   d
d«      }| j                  d|t        j                  |«      j!                  «       ¬«      S t        j$                  d|«      S )Nc                óð  — t        | «      dk(  r‘| d   j                  «       j                  «       dk(  xsk | d   j                  «       j	                  t
        j                  j                  «       «      xs+ t        | d   j                  «       t
        j                  «      S t        | «      dk(  rt        j                  | d   dd«      }|d u S t        | «      dv rt        j                  | d   dd«      }|d u S y	)
Nr(  r   úprim::devicer*  rD  r•  r  )r•  é   F)rV  r¡  r¬  r  ÚisSubtypeOfr   ÚListTypeÚofIntsr5  rV  r   re  )rX  r  s     r  Úis_aten_to_device_onlyz"to.<locals>.is_aten_to_device_only@  sÞ   € Üˆt‹9˜Š>ð �Q‘—‘“×#Ñ#Ó%¨Ñ7ò @Ø˜‘7—<‘<“>×-Ñ-¬b¯k©k×.@Ñ.@Ó.BÓCò@ä˜d 1™gŸl™l›n¬b×.>Ñ.>Ó?ðô
 �‹Y˜!Š^ô $×.Ñ.¨t°A©w¸¸WÓEˆEØ˜D�=Ð Ü�‹Y˜&Ñ ô $×.Ñ.¨t°A©w¸¸WÓEˆEØ˜D�=Ð Ør  r(  r   rU  rc  rn  ro  r*  rD  r•  r  r•  rè  zUnknown aten::to signature)rV  r   rF  r¡  r¬  rd  r5  r`  r3  r7  ro   r¹  r	   rt  ru  r$  ry  re  r  )r(  r<  rX  rì  r  Útvals         r  rû   rû   >  s+  € òñ, ˜dÔ#Øˆä
ˆ4ƒy�Aƒ~ð �Q‘ˆä×%Ñ% d¨1¡gÔ.Ø�Q‘—‘“×#Ñ#Ó%Ð)9Ò9ä"×,Ñ,¨T°!©W¯\©\«^¸WÓEˆDÜ˜$¤§¡Ô-Ü�t—z‘z“? aÒ'ØŸ9™9›;�DÜ ›I‘Eà �Eä×$Ñ$ UÔ+¬z¸%ÄÇÁÔ/Nä×-Ñ-×8Ñ8¸¸a¹ÓAˆEØ—4‘4ØØØ—_‘_Ó&ð ó ð ð —4‘4˜ ¬;×+DÑ+DÀUÓ+K×+UÑ+UÓ+W�4ÓXÐXÜ	ˆT‹�aŠä×*Ñ*¨4°©7°C¸ÓAˆà�t‰t�F˜D¤{×'@Ñ'@ÀÓ'G×'QÑ'QÓ'SˆtÓTÐTÜ	ˆT‹�aŠä×*Ñ*¨4°©7°C¸ÓAˆà�t‰t�F˜D¤{×'@Ñ'@ÀÓ'G×'QÑ'QÓ'SˆtÓTÐTÜ	ˆT‹�aŠä×*Ñ*¨4°©7°C¸ÓAˆà�t‰t�F˜D¤{×'@Ñ'@ÀÓ'G×'QÑ'QÓ'SˆtÓTÐTä×,Ñ,Ð-IÈ4ÓPÐPr  zaten::repeatc                óœ   — t         j                  j                  }t        | ||«      }| j	                  d||«      }| j	                  d||«      S )Nr)  ÚTile)r	   rt  rs  r«   r$  )r(  r<  Úrepeatsr  Úshape_s        r  rÔ   rÔ   ‰  sF   € ä×%Ñ%×+Ñ+€EÜ�q˜' 5Ó)€FØ�4‰4�˜$ Ó'€DØ�4‰4�˜˜gÓ&Ð&r  zaten::repeat_interleavec                ó²  — t        j                  |«      }t        j                  |«      }t        j                  |«      }|€t        j                  d|«      ‚|€t        j                  d|«      ‚|€t        j                  d|«      ‚t        j
                  |«      rbt        j                  | || j                  dt        j                  dg«      ¬«      «      }t        j                  dt        j                  ¬«      }nt        j                  |«      }|dk  r|t        |«      z  }|j                  «       }t        |«      D ]  \  }	}
|
�Œ	d	\  ||	<   ||	<   Œ |dk(  s|d
k(  rA|d   d
k(  r9||   dk(  rt        j                  dddd|«      S t        j                   | |||«      S |d
k(  rW||   dk(  rt        j                  dddd|«      S |d   €t        j                  dddd|«      S |d   ||   k(  sJ d«       ‚|d   }nt        j                  d|«      ‚g }t        j"                  | ||d«      }t        j"                  | |||«      }d\  ||<   ||<   t        |«      D ]ã  \  }	}t%        | ||	   |d
z   «      }| j                  dt        j&                  |d |d
z    «      ¬«      || j                  dt        j&                  ||d
z   d  «      ¬«      g} | j                  dg|¢­ddiŽ}t)        | ||d «      }t        j                  | || j                  dt        j&                  |«      ¬«      d¬«      }|j+                  |«       Œå  | j                  dg|¢­d|iŽS )NzGUnsupported: ONNX export of repeat_interleave for unknown repeats rank.zGUnsupported: ONNX export of repeat_interleave for unknown repeats size.zEUnsupported: ONNX export of repeat_interleave for unknown input size.r]  r(  r^  r   r~  )r   r(  rD  rÓ   r  é   z3Unsupported along dimension with unknown input sizez*Unsupported for cases with dynamic repeatsz2repeats must have the same size as input along dimz%repeats must be 0-dim or 1-dim tensor)r(  rD  r3  r4  ©Ú	allowzero)r   r™  r†  r
   rj  rE  r:  r$  r`  rù   rƒ  rJ  rV  rì  Ú	enumeraterH  Ú-_repeat_interleave_single_value_repeat_helperÚ_repeat_interleave_split_helperr  r,  rO   r  )r(  r<  rð  rB   r  Úrepeats_dimÚrepeats_sizesÚinput_sizesÚinput_sizes_tempr  rñ  ÚrepsÚfinal_splitsÚr_splitsÚi_splitsÚr_splitÚi_splitÚr_concats                     r  rÓ   rÓ   ‘  sÅ  € ô "×2Ñ2°7Ó;€KÜ#×5Ñ5°gÓ>€MÜ!×3Ñ3°DÓ9€KØÐÜ×'Ñ'ØUØó
ð 	
ð ÐÜ×'Ñ'ØUØó
ð 	
ð ÐÜ×'Ñ'ØSØó
ð 	
ô ×Ñ Ô$Ü×.Ñ.Øˆt�Q—T‘T˜*¬e¯l©l¸B¸4Ó.@�TÓAó
ˆô �l‰l˜1¤E§K¡KÔ0‰ä×/Ñ/°Ó4ˆð ˆQ‚wØŒs�;ÓÑˆà"×'Ñ'Ó)ÐÜ$ [Ó1ò <‰ˆˆZØÑØ6;Ñ3ˆK˜ÑÐ.¨sÒ3ð<ð
 �aÒ˜K¨1Ò,°¸qÑ1AÀQÒ1FØ�sÑ˜qÒ Ü"×CÑCØ#ØØØEØóð ô ×LÑLØˆt�W˜có
ð 	
ð
 
˜Ò	Ø�sÑ˜qÒ Ü"×CÑCØ#ØØØEØóð ð ˜ÑÐ#Ü"×CÑCØ#ØØØ<Øóð ð ˜QÑ ;¨sÑ#3Ò3ð 	
Ø@ó	
Ð3ð ˜QÑ‰ä×'Ñ'Ð(OÐQUÓVÐVà€LÜ×>Ñ>¸qÀ'È4ÐQRÓS€HÜ×>Ñ>¸qÀ$ÈÈcÓR€HØ.3Ñ+€K�ÑÐ& sÑ+Ü! (Ó+ò %‰ˆˆWÜ˜A˜x¨™}¨c°A©gÓ6ˆà�D‰D�¤U×%5Ñ%5Ð6FÀyÈÈqÉÐ6QÓ%RˆDÓSØØ�D‰D�¤U×%5Ñ%5Ð6FÀsÈQÁwÀyÐ6QÓ%RˆDÓSð
ˆð
 �1—4‘4˜Ð6 8Ò6°AÑ6ˆÜ˜˜G X¨tÓ4ˆÜ!×1Ñ1ØØØ�D‰D�¤U×%5Ñ%5°kÓ%BˆDÓCØô	
ˆð 	×Ñ˜GÕ$ð%ð  ˆ1�4‰4�Ð4˜<Ò4°Ñ4Ð4r  zaten::pixel_shufflec                ó  — t        j                  |«      }t        |«      dk7  rt        j                  dd|«      S t	        d„ |dd  D «       «      �rt        j
                  | t        j                  | |ddg«      | j                  dt        j                  d	d
||d	d	g«      ¬«      d	¬«      }| j                  d|g d¢¬«      }t        j
                  | || j                  dt        j                  g d¢«      ¬«      d	¬«      }t        j
                  | || j                  dt        j                  g d¢«      ¬«      d	¬«      }t        j                  | |ddg«      S |d   |z  |z  }t        j
                  | || j                  dt        j                  d
||||d   |d   g«      ¬«      d	¬«      }| j                  d|g d¢¬«      }t        j
                  | || j                  dt        j                  d
||d   |z  |d   |z  g«      ¬«      d	¬«      S )Nr(  r±   úonly support 4d inputc              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   rµ  s     r  rœ  z pixel_shuffle.<locals>.<genexpr>  ó   è ø€ Ò
'˜ˆ1�Œ9Ñ
'ùr¶  rD  r¾  rÄ  r]  r   r(  r^  rô  r  )r   rD  r(  r¾  r*  rÄ  r  )r   r   r(  rD  r   r   )r   r   r   r   r(  rD  r*  ©r   r†  rV  r\  r¸  r:  r§  r$  r`  rù   rn  )	r(  r<  Úupscale_factorr7  Ú
after_viewÚafter_transposeÚ	reshape_hÚ	reshape_wÚoutput_channels	            r  r±   r±   ù  s+  € ô ×,Ñ,¨TÓ2€DÜ
ˆ4ƒy�A‚~Ü×-Ñ-ØÐ4°dó
ð 	
ô Ñ
'˜d 1 2˜hÔ
'Õ'Ü$×4Ñ4ØÜ×-Ñ-¨a°¸¸1°vÓ>Ø�D‰DØÜŸ™ a¨¨^¸^ÈQÐPQÐ%RÓSð ó ð ô
ˆ
ð Ÿ$™$˜{¨JÒ?Q˜$ÓRˆä#×3Ñ3ØØØ�D‰D�¤U§\¡\Ò2EÓ%FˆDÓGØô	
ˆ	ô $×3Ñ3ØØØ�D‰D�¤U§\¡\Ò2EÓ%FˆDÓGØô	
ˆ	ô ×.Ñ.¨q°)¸aÀ¸VÓDÐDà˜a™ NÑ2°nÑDˆÜ$×4Ñ4ØØØ�D‰DØÜŸ™àØ&Ø&Ø&Ø˜Q™Ø˜Q™ðó	ð ó ð ô!
ˆ
ð$ Ÿ$™$˜{¨JÒ?Q˜$ÓRˆÜ×.Ñ.ØØØ�D‰DØÜŸ™àØ&Ø˜Q™ .Ñ0Ø˜Q™ .Ñ0ð	óð ó 
ð ô
ð 	
r  zaten::pixel_unshufflec                ó4  — t        j                  |«      }t        |«      dk7  rt        j                  dd|«      S t	        d„ |dd  D «       «      �r	t        j
                  | t        j                  | |dg«      | j                  dt        j                  ddd	|dg«      ¬
«      d¬«      }t        j
                  | || j                  dt        j                  ddddd	|g«      ¬
«      d¬«      }| j                  d|g d¢¬«      }t        j
                  | || j                  dt        j                  g d¢«      ¬
«      d¬«      }t        j                  | |ddg«      S |d   |z  |z  }t        j
                  | || j                  dt        j                  d	|d   |d   |z  ||d   |z  |g«      ¬
«      d¬«      }	| j                  d|	g d¢¬«      }t        j
                  | || j                  dt        j                  d	||d   |z  |d   |z  g«      ¬
«      d¬«      S )Nr(  r±   r  c              3  ó$   K  — | ]  }|d u –— Œ
 y ­wr  r   rµ  s     r  rœ  z"pixel_unshuffle.<locals>.<genexpr>I  r  r¶  rD  rÄ  r]  r   r(  r^  rô  r  )r   rD  rÄ  r*  r¾  r(  r  )r   r(  rD  rD  r   r   r¾  r  )
r(  r<  Údownscale_factorr7  r  r  r  Úfinal_reshaper  r
  s
             r  r²   r²   A  s?  € ô ×,Ñ,¨TÓ2€DÜ
ˆ4ƒy�A‚~Ü×-Ñ-ØÐ4°dó
ð 	
ô Ñ
'˜d 1 2˜hÔ
'Õ'ä#×3Ñ3ØÜ×-Ñ-¨a°¸°sÓ;Ø�D‰D�¤U§\¡\°1°a¸Ð=MÈqÐ2QÓ%RˆDÓSØô	
ˆ	ô $×3Ñ3ØØØ�D‰D�¤U§\¡\°1°a¸¸A¸rÐCSÐ2TÓ%UˆDÓVØô	
ˆ	ð Ÿ$™$˜{¨IÒ>P˜$ÓQˆÜ'×7Ñ7ØØØ�D‰D�¤U§\¡\Ò2EÓ%FˆDÓGØô	
ˆô ×.Ñ.¨q°-À!ÀQÀÓHÐHà˜a™Ð#3Ñ3Ð6FÑFˆÜ$×4Ñ4ØØØ�D‰DØÜŸ™àØ˜Q™Ø˜Q™Ð#3Ñ3Ø(Ø˜Q™Ð#3Ñ3Ø(ðó	ð ó ð ô!
ˆ
ð$ Ÿ$™$˜{¨JÒ?Q˜$ÓRˆÜ×.Ñ.ØØØ�D‰DØÜŸ™àØ&Ø˜Q™Ð#3Ñ3Ø˜Q™Ð#3Ñ3ð	óð ó 
ð ô
ð 	
r  c                óâ  ‡ ‡‡‡,‡-‡.‡/— t        j                  d‰z   dz   dz   dz   dz   «       g d¢}t        t        |D �cg c]  }|j	                  «       ‘Œ c}|«      «      }|rdnd}‰d	k(  r.t        |«      ‰|z  d
|	z   z  k7  rt        j                  d	d|«      S t        |«      ‰|z  d
|	z   z  k(  sJ ‚t        dt        |«      |«      D �cg c]
  }||||z    ‘Œ c}Š-|
r‰ j                  d|g d¢¬«      }|r|rt        j                  dd|«      S ‰j                  d«      r|‰dd  j	                  «          }dŠ|d
   }t        j                  |d
«      Š,‰,€t        j                  dd|«      S |	 }|}g }‰dk(  s‰dk(  r|}n‰d	k(  r|\  }}g }|€t        ‰ «      n|}‰dk(  rg d¢Š.n	‰d	k(  rg d¢Š.d„ Š/ˆ ˆ,ˆ-ˆ.ˆ/ˆfd„}ˆ ˆ,ˆ-ˆ.ˆ/ˆfd„}ˆ ˆfd„}t        ‰«      D �]!  }|r0|dk(  r ||«      \  }}}n ||«      \  }}t        ‰ «      }||d
z   f} n�|dk(  r7 |d|z  «      \  }!}"}# |d|z  d
z   «      \  }$}%}&‰ j                  d|#|&d¬«      }n* |d|z  «      \  }!}" |d|z  d
z   «      \  }$}%t        ‰ «      }‰ j                  d|!|$d¬«      }‰ j                  d|"|%d¬«      }d|z  d|z  dz   f} |||||g}'|'j                   |g| ¢­Ž «       ‰d	k(  r|'j                   |g| ¢­Ž «       |ri nddi}(‰dk(  r(|	r|g})ng}) ‰ j                  dg|'¢­d‰,|)dœ|(¤Ž\  }}*nE‰dk(  r ‰ j                  dg|'¢­d‰,d
d œ|(¤Ž\  }}*n"‰d	k(  r ‰ j                  d	g|'¢­d!‰,d"œ|(¤Ž\  }}*}+|	rV‰ j                  d|g d#¢¬«      }t        j                  ‰ |‰ j                  d$t        j                   g d%¢«      ¬&«      d¬'«      }nt        j"                  ‰ |d
g«      }|j                  *«       ‰d	k(  s�Œj                  +«       �Œ$ |
r‰ j                  d|g d¢¬«      }‰d
k(  r*n ‰ j                  dg|¢­d(diŽ}‰dk(  s‰dk(  r||fS ‰d	k(  r"‰d
k(  r+n ‰ j                  dg¢­d(diŽ}|||fS y c c}w c c}w ))NzVExporting a model to ONNX with a batch_size other than 1, with a variable length with z can cause an error z9when running the ONNX model with a different batch size. z4Make sure to save the model with a batch size of 1, z=or define the initial states (h0/c0) as inputs of the model. )rŽ  rÙ  rõ  ÚAffinerŸ  ÚThresholdedReluÚ
ScaledTanhrÌ  r  ÚSoftsignrŒ  r(  r¾  ÚLSTMrD  zLSTMs with projectionsr   r  ©rD  r   r¾  r  zRNN/GRU/LSTMzdropout in training modeÚRNNzunknown hidden sizeÚGRU))rD  r¾  ©r   rD  )r¾  rÄ  )r  )rÄ  r(  )rD  rÄ  c                ó¤   — |D ��cg c](  \  }}t        j                  | |dg||z  g||z  g¬«      ‘Œ* }}} | j                  dg|¢­ddiŽS c c}}w )Nr   rq  r3  r4  )r   rs  r$  )r(  Úwr)  Ú	intervalsÚxÚyÚslicess          r  Úreform_weightsz$_generic_rnn.<locals>.reform_weightsâ  sk   € ð "÷
á��1ô ×)Ñ)¨!¨Q°a°SÀ!ÀaÁ%ÀÐPQÐTUÑPUÈwÖWð
ˆñ 
ð ˆq�t‰t�HÐ0˜vÒ0¨aÑ0Ð0ùó	
s   †-Ac                ó†   •— ‰|    }‰	dk(  r|\  }}n‰	dk(  s‰	dk(  rˆˆˆˆfd„|D «       \  }}t        ˆfd„fD «       «      S )Nr  r  r  c              3  ó4   •K  — | ]  } ‰‰|‰‰«      –— Œ y ­wr  r   ©rš  r  r(  Úhidden_sizeÚreform_permutationr#  s     €€€€r  rœ  zB_generic_rnn.<locals>.transform_weights_no_bias.<locals>.<genexpr>î  s"   øè ø€ ò $ØJK‘˜q ! [Ð2D×Eñ$ùó   ƒc              3  óN   •K  — | ]  }t        j                  ‰|d g«      –— Œ y­wr˜  ©r   r§  ©rš  r   r(  s     €r  rœ  zB_generic_rnn.<locals>.transform_weights_no_bias.<locals>.<genexpr>ñ  ó*   øè ø€ ò 
àô ×-Ñ-¨a°°Q°C×8ñ
ùó   ƒ"%)rÑ  )
Úlayer_indexÚweightsÚ	weight_ihÚ	weight_hhr(  r'  Úlayer_weightsr(  r#  Úvariants
       €€€€€€r  Útransform_weights_no_biasz/_generic_rnn.<locals>.transform_weights_no_biasé  sc   ø€ Ø Ñ,ˆØ�eÒØ#*Ñ ˆI‘yØ˜Ò ¨FÒ!2ö$ØOVô$Ñ ˆI�yô ó 
à Ð+ô
ó 
ð 	
r  c                óº   •— ‰	|    }‰dk(  r|\  }}}}n‰dk(  s‰dk(  rˆˆˆ
ˆfd„|D «       \  }}}}‰j                  dd¬«      }t        ˆfd„|fD «       «      S )	Nr  r  r  c              3  ó4   •K  — | ]  } ‰‰|‰‰«      –— Œ y ­wr  r   r&  s     €€€€r  rœ  z:_generic_rnn.<locals>.transform_weights.<locals>.<genexpr>û  s"   øè ø€ ò 6ØJK‘˜q ! [Ð2D×Eñ6ùr)  r3  r   rr  c              3  óN   •K  — | ]  }t        j                  ‰|d g«      –— Œ y­wr˜  r+  r,  s     €r  rœ  z:_generic_rnn.<locals>.transform_weights.<locals>.<genexpr>ÿ  r-  r.  )r$  rÑ  )r/  r0  r1  r2  Úbias_ihÚbias_hhÚbias_concatr(  r'  r3  r(  r#  r4  s          €€€€€€r  Útransform_weightsz'_generic_rnn.<locals>.transform_weightsö  sƒ   ø€ Ø Ñ,ˆØ�eÒØ5<Ñ2ˆI�y '©7Ø˜Ò ¨FÒ!2ö6ØOVô6Ñ2ˆI�y '¨7ð —d‘d˜8 W¨g¸a�dÓ@ˆÜó 
à ¨KÐ8ô
ó 
ð 	
r  c                óL   •— ‰dk(  r| S t        j                  ‰| dg|g|g¬«      S )NrD  r   rq  ©r   rs  )r   r  r  r(  Ú
num_layerss      €€r  Úretrieve_statez$_generic_rnn.<locals>.retrieve_state  s<   ø€ ð ˜QŠð ð	
ô !×.Ñ.Ø�1˜A˜3¨ w°c°Uôð	
r  r3  rr  Údirection_sÚbidirectional)r[  Úhidden_size_iÚactivations_s)r[  rC  Úlinear_before_reset_irÄ  )r[  rC  )r   r¾  rD  rÄ  r]  )r   r   r(  r^  rô  r4  )r=  r>  ÚdictrÒ  ÚlowerrV  r   r\  r#  r$  Ú
startswithrŸ  r  r  r:  r`  r,  rn  )0r(  r4  r/  Úinitial_statesÚall_weightsÚ
has_biasesr?  rE   r_  rB  Úbatch_firstÚbatch_sizesÚonnxActivationsÚact_funÚvariantToOnnxActivationMapÚweights_per_layerr•  ÚnonlinearityÚw_hhÚunidirectionalÚprev_outputÚh_outsÚh0Úc0Úc_outsÚsequence_lensr5  r<  r@  r1  r2  r;  Ústate_indicesÚweight_ih_fÚweight_hh_fÚbias_fÚweight_ih_bÚweight_hh_bÚbias_bÚinputsÚextra_kwargsÚ
activationÚh_outÚc_outr'  r3  r(  r#  s0   ``    `                                     @@@@r  Ú_generic_rnnrg  †  sº  þ€ ô ‡M�Mð	)à
ñ	ð !ñ	!ð Fñ		Fð
 Añ	Að Jñ	Jôò€Oô "&Ü¨OÖ< ˆW�]‰]�_Ò<¸oÓNó"Ðñ (™¨QÐà�&ÒœS Ó-°Ð>OÑ1OØ	ˆMÑñ2ò ô ×-Ñ-¨fÐ6NÐPUÓVÐVÜˆ{Ó˜zÐ,=Ñ=ÀÀ]ÑARÑSÒSÐSÐSô �qœ#˜kÓ*Ð,=Ó>öàð 	�A˜Ð-Ñ-Ò.ò€Mñ à—‘�[ %²	�Ó:ˆÙ‘5Ü×-Ñ-ØÐ6¸ó
ð 	
ð ×Ñ˜%Ô Ø1°'¸!¸"°+×2CÑ2CÓ2EÑFˆØˆà�q‰>€DÜ!×6Ñ6°t¸QÓ?€KØÐÜ×-Ñ-ØÐ1°5ó
ð 	
ð 'Ð&€Nà€Kà€FØ�%Ò˜7 eÒ+Ø‰Ø	�FÒ	Ø‰ˆˆBØˆà!,Ð!4”F˜1”I¸+€Mà�%Òò 6ÑØ	�FÒ	ò 6Ðò1÷
ñ 
÷
ñ 
õ
ô �:Óó O!ˆÙØ  AÒ%Ù4EÀaÓ4HÑ1�	˜9¡ká'@ÀÓ'CÑ$�	˜9Ü$ Q›i�à˜q 1™u˜H‰Mà  AÒ%Ù3DÀQÈÁUÓ3KÑ0�˜[¨&Ù3DÀQÈÁUÈQÁYÓ3OÑ0�˜[¨&ØŸd™d 8¨V°VÀA˜dÓF‘á+DÀQÈÁUÓ+KÑ(�˜[Ù+DÀQÈÁUÈQÁYÓ+OÑ(�˜[Ü$ Q›i�àŸ™˜X {°KÈ˜ÓJˆIØŸ™˜X {°KÈ˜ÓJˆIà ™E 1 q¡5¨1¡9Ð,ˆMà˜y¨)°[À-ÐPˆà�‰‘n RÐ8¨-Ò8Ô9Ø�fÒØ�M‰M™.¨Ð<¨mÒ<Ô=á+‘r°-ÀÐ1QˆØ�eÒÙØ*¨LÐ9‘
à*˜^�
à!% §¡Øð"àñ"ð Ø)Ø(ñ"ð ñ"ÑˆK™ð ˜ÒØ!% §¡Øð"àñ"ð Ø)Ø&'ñ"ð ñ"ÑˆK™ð ˜ÒØ(,¨¯©Øð)Øñ)Ø)*¸+ñ)ØIUñ)Ñ%ˆK˜ ñ ð Ÿ$™$˜{¨KÂ˜$ÓMˆKÜ)×9Ñ9ØØØ—‘�Z¬×)9Ñ)9º*Ó)E�ÓFØô	‰Kô *×9Ñ9¸!¸[È1È#ÓNˆKà�‰�eÔØ�fÔØ�M‰M˜%Ö ð_O!ñ` à—d‘d˜;¨ºI�dÓFˆØ  A’o‰U¨4¨1¯4©4°Ð+L¸6Ò+LÈ!Ñ+L€FØ�%Ò˜7 eÒ+Ø˜FÐ"Ð"Ø	�FÒ	Ø$¨š/‘¨t¨q¯t©t°HÐ/P¸vÒ/PÈaÑ/PˆØ˜F FÐ*Ð*ð 
ùòo =ùòs   ¾Q'ÃQ,c
                ó€   — t        j                  |«      t        j                  |«      }}
t        | d||
|||||||	«      S )Nr  ©r   r�  rg  )r(  r/  Úhidden_vÚweight_vrK  r?  rE   r_  rB  rL  Úhiddenr?  s               r  Ú
_lstm_fullrm  h  sW   € ô 	×$Ñ$ XÓ.Ü×$Ñ$ XÓ.ð €Fô Ø	ØØØØØØØØØØóð r  c
                ó‚   — t        j                  |«      t        j                  |«      }}
t        | d||
||||||	|¬«      S )Nr  ©rM  ri  )r(  r/  rM  rj  rk  rK  r?  rE   r_  rB  rl  r?  s               r  Ú_lstm_packedrp  ˆ  sW   € ô 	×$Ñ$ XÓ.Ü×$Ñ$ XÓ.ð €Fô Ø	ØØØØØØØØØØôð r  z
aten::lstmc                ób   — t        j                  |d   «      rt        | g|¢­Ž S t        | g|¢­Ž S ©NrÄ  )r   rG  rp  rm  )r(  rX  s     r  r‰   r‰   ¨  s4   € ä×&Ñ& t¨A¡wÔ/Ü˜AÐ% Ò%Ð%ä˜!Ð#˜dÒ#Ð#r  zaten::lstm_cellc                ó´  — t        j                  | |dg«      }t        j                  |«      }|D �cg c]  }t        j                  | |dg«      ‘Œ }}t        j                  |«      r||||fn||f}	t        j                  |«      rdnd}
t	        | d|||	|
ddddd¬«      \  }}}t        j
                  | |dg«      t        j
                  | |dg«      fS c c}w )Nr   TFr  rD  )r?  rE   r_  rB  rL  )r   r§  r�  Ú
_is_tensorrg  rn  )r(  r<  rl  Úw_ihrS  Úb_ihÚb_hhr/  r   r?  rK  rÖ  rV  rY  s                 r  rˆ   rˆ   °  sö   € ä×-Ñ-¨a°¸°sÓ;€EÜ×)Ñ)¨&Ó1€FØDJÖK¸qŒo×/Ñ/°°1°q°cÕ:ÐK€FÐKä$3×$>Ñ$>¸tÔ$Dˆˆt�T˜4Ñ È4ÐQUÈ,ð ô )×3Ñ3°DÔ9‘¸u€JÜ$Ø	ØØØØØØØØØØôÑ€A€vˆvô ×*Ñ*Ø	ˆ6�A�3óä×&Ñ& q¨&°1°#Ó6ð7ð 7ùò% Ls   ²Cz	aten::grur  Úgruzaten::rnn_tanhÚRNN_TANHÚrnn_tanhzaten::rnn_reluÚRNN_RELUÚrnn_reluc                ó¬   ‡ ‡‡— t        j                  ddddddddd«	      ˆ fd„«       Št        j                  ddddddddd«	      ˆ fd„«       Šˆˆfd„}|S )NrY  r•  rZ  c
                óX   •— t        j                  |«      }
t        | ‰|||
||||||	«      S r  ri  )r(  r/  rl  rk  rK  r?  rE   r_  rB  rL  r?  r¬  s              €r  Ú	_rnn_fullz"_one_hidden_rnn.<locals>._rnn_full×  sC   ø€ ô !×-Ñ-¨hÓ7ˆÜØØØØØØØØØØØó
ð 	
r  c
                óZ   •— t        j                  |«      }
t        | ‰|||
|||||	|¬«      S )Nro  ri  )r(  r/  rM  rl  rk  rK  r?  rE   r_  rB  r?  r¬  s              €r  Ú_rnn_packedz$_one_hidden_rnn.<locals>._rnn_packedó  sC   ø€ ô !×-Ñ-¨hÓ7ˆÜØØØØØØØØØØØ#ô
ð 	
r  c                óX   •— t        j                  |d   «      r	 ‰| g|¢­Ž S  ‰| g|¢­Ž S rr  )r   rG  )r(  rX  r  r�  s     €€r  Úsymbolicz!_one_hidden_rnn.<locals>.symbolic  s5   ø€ Ü×*Ñ*¨4°©7Ô3Ù˜qÐ( 4Ò(Ð(á˜QÐ& Ò&Ð&r  rc  )r¬  rƒ  r  r�  s   ` @@r  Ú_one_hidden_rnnr„  Ë  so   ú€ ô ×Ñ  S¨#¨s°C¸¸cÀ3ÈÓLó
ó Mð
ô6 ×Ñ  S¨#¨s°C¸¸cÀ3ÈÓLó
ó Mð
õ6'ð €Or  zaten::_dim_arangec           
     ó¸   — | j                  d|«      }| j                  d|| j                  dt        j                  |«      ¬«      d¬«      }t        | |dd d d «      S )Nr,  r;  r]  r^  r   rr  r(  )r$  r`  rù   r   )r(  ÚlikerB   Ú
like_shapeÚstops        r  Ú_dim_aranger‰    s^   € ð —‘�g˜tÓ$€JØ�4‰4Ø�*˜aŸd™d :´u·|±|ÀCÓ7H˜dÓIÐRSð ó €Dô �!�T˜1˜d D¨$Ó/Ð/r  zaten::detachc                ó   — |S r  r   r.  s     r  rA   rA   #  r2  r  zaten::contiguousc                ó<   — |dkD  rt        j                  d|«      ‚|S )Nr¾  z-onnx memory_format support is not implemented)r
   rj  )r(  r/  r�  s      r  r3   r3   )  s+   € ð �qÒÜ×'Ñ'Ø;¸Uó
ð 	
ð €Lr  zaten::_pack_padded_sequencec                ó  — |r| j                  d|g d¢¬«      }|j                  «       j                  t        j                  j
                  j                  «       «      st        j                  d|«      ‚t        j                  j                  |t        j                  j                  «      t        j                  j                  k7  r,| j                  d|t        j                  j                   ¬«      }| j                  d||d¬	«      S )
Nr  r  r  z*'lengths' must be a Tensor for ONNX exportrn  ro  zprim::PackPaddedr¾  ©r[  )r$  r  ré  r`  r   Ú
TensorTypeÚgetr
   rj  r	   rt  ru  rv  rÒ  rq  rr  rc  )r(  r/  ÚlengthsrL  s       r  Ú_pack_padded_sequencer‘  3  sÑ   € ñ Ø—‘�[ %²	�Ó:ˆØ�<‰<‹>×%Ñ%¤e§h¡h×&9Ñ&9×&=Ñ&=Ó&?Ô@Ü×'Ñ'Ø8¸%ó
ð 	
ô 	×!Ñ!×,Ñ,Ø”[×.Ñ.×8Ñ8ó	
ô ×$Ñ$×(Ñ(ò	)ð
 —$‘$�v˜w¬W×-HÑ-H×-NÑ-N�$ÓOˆØ�4‰4Ð" E¨7¸Aˆ4Ó>Ð>r  zaten::_pad_packed_sequencec                ój   — | j                  d||d¬«      \  }}|r| j                  d|g d¢¬«      }||fS )Nzprim::PadPackedr¾  r�  r  r  r  r-  )r(  r™  rM  rL  Úpadding_valueÚtotal_lengthr�  s          r  Ú_pad_packed_sequencer•  L  s@   € ð —D‘DÐ*¨D°+Àq�DÓI�M€Dˆ'ÙØ�t‰t�K ªiˆtÓ8ˆØ�ˆ=Ðr  zaten::randintc                ó6  — t        j                  |dd«      }t        j                  |dd«      }t        j                  |dd«      }|€t        j                  j                  }nt        j                  |«      }|€t        j
                  d|«      ‚|€t        j
                  d|«      ‚t        j                  |d«      }	t        j                  |	«      rN| j                  d|t        j                  dgt        j                  ¬	«      ¬
«      }
| j                  d|
||¬«      }n| j                  d|	||¬«      }t        j                  j                  }| j                  d||j                  «       ¬«      }||k7  r"| j                  d||j                  «       ¬«      }|S )Nr•  r  r  ÚhighrË   r'  rž  r   r~  r^  ÚRandomUniformLike©Úlow_fÚhigh_fÚRandomUniform)Úshape_irš  r›  rn  ro  )r   re  r	   rt  rs  r  r+  rF  r$  r`  rù   rŽ  ry  )r(  r  r—  Úshapesr  r“  Úlow_iÚhigh_ir{  r7  Úshape_constrÍ   Ú	int_dtyperË   s                 r  rË   rË   _  s}  € ä×&Ñ& u¨c°7Ó;€EÜ×&Ñ& s¨C°Ó7€EÜ×'Ñ'¨¨c°6Ó:€FØ€}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆØ€}Ü×/Ñ/°	¸3Ó?Ð?Ø€~Ü×/Ñ/°	¸4Ó@Ð@ä×,Ñ,¨V°TÓ:€EÜ× Ñ  Ô'Ø—d‘dØØÜ—L‘L ! ¬E¯K©KÔ8ð ó 
ˆð
 —‘ØØØØð	 ó 
‰ð —‘ØØØØð	 ó 
ˆô ×)Ñ)×/Ñ/€IØ�d‰d�6˜5 y×':Ñ':Ó'<ˆdÓ=€GØ�KÒØ—$‘$�v˜w¨[×-BÑ-BÓ-D�$ÓEˆØ€Nr  zaten::randint_likec                óD  — t        j                  |dd«      }t        j                  |dd«      }t        j                  |dd«      }|€t        j                  j                  }nt        j                  |«      }|€t        j
                  d|«      ‚|€t        j
                  d|«      ‚| j                  d|||¬«      }	t        j                  j                  }
| j                  d|	|
j                  «       ¬	«      }|
|k7  r"| j                  d||j                  «       ¬	«      }|S )
Nr•  r  r  r—  rË   r˜  r™  rn  ro  )r   re  r	   rt  rs  r  r$  ry  )r(  r<  r  r—  r  r“  rŸ  r   r{  rÍ   r¢  rË   s               r  rÊ   rÊ   Š  s  € ä×&Ñ& u¨c°7Ó;€EÜ×&Ñ& s¨C°Ó7€EÜ×'Ñ'¨¨c°6Ó:€FØ€}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆØ€}Ü×/Ñ/°	¸3Ó?Ð?Ø€~Ü×/Ñ/°	¸4Ó@Ð@à�D‰DØØØØð	 ó €Eô ×)Ñ)×/Ñ/€IØ�d‰d�6˜5 y×':Ñ':Ó'<ˆdÓ=€GØ�KÒØ—$‘$�v˜w¨[×-BÑ-BÓ-D�$ÓEˆØ€Nr  zaten::randnc                óâ  — t        j                  |dd«      }|€t        j                  j                  }nt        j                  |«      }t        j
                  |d«      }t        j                  |«      rZ| j                  d|t        j                  dgt        j                  ¬«      ¬«      }| j                  d||j                  «       ¬	«      S | j                  d
||j                  «       ¬«      S )Nr•  r  r'  rž  r   r~  r^  ÚRandomNormalLike©Údtype_iÚRandomNormal©r�  r§  ©r   re  r	   rt  rx  r+  rF  r$  r`  rù   rŽ  ry  ©r(  rž  r  r“  r{  r7  r¡  s          r  rÍ   rÍ   §  sÝ   € ä×&Ñ& u¨c°7Ó;€EØ€}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆÜ×,Ñ,¨V°TÓ:€EÜ× Ñ  Ô'Ø—d‘dØØÜ—L‘L ! ¬E¯K©KÔ8ð ó 
ˆð
 �t‰tØØØ×)Ñ)Ó+ð ó 
ð 	
ð
 �4‰4ØØØ×%Ñ%Ó'ð ó ð r  z
aten::randc                óâ  — t        j                  |dd«      }|€t        j                  j                  }nt        j                  |«      }t        j
                  |d«      }t        j                  |«      rZ| j                  d|t        j                  dgt        j                  ¬«      ¬«      }| j                  d||j                  «       ¬	«      S | j                  d
||j                  «       ¬«      S )Nr•  r  r'  rž  r   r~  r^  r˜  r¦  rœ  r©  rª  r«  s          r  rÉ   rÉ   Á  sÝ   € ä×&Ñ& u¨c°7Ó;€EØ€}Ü!×/Ñ/×5Ñ5‰ä!×/Ñ/°Ó6ˆÜ×,Ñ,¨V°TÓ:€EÜ× Ñ  Ô'Ø—d‘dØØÜ—L‘L ! ¬E¯K©KÔ8ð ó 
ˆð
 �t‰tØØØ×)Ñ)Ó+ð ó 
ð 	
ð
 �4‰4ØØØ×%Ñ%Ó'ð ó ð r  zaten::randn_likec                ó  — t        j                  |dd«      }|€9t        j                  j	                  |t        j                  j
                  «      }nt        j                  |«      }| j                  d||j                  «       ¬«      S )Nr•  r  r¥  r¦  ©r   re  r	   rt  ru  rx  r$  ry  )r(  r<  r  rŠ  r‹  rŒ  r�  r{  s           r  rÌ   rÌ   Û  su   € ô ×&Ñ& u¨c°7Ó;€EØ€}Ü!×/Ñ/×:Ñ:Ø”+×+Ñ+×1Ñ1ó
‰ô "×/Ñ/°Ó6ˆØ�4‰4Ð" D°+×2GÑ2GÓ2Iˆ4ÓJÐJr  zaten::rand_likec                ó  — t        j                  |dd«      }|€8t        j                  j	                  |t        j                  j
                  «      }| j                  d|t        j                  |«      j                  «       ¬«      S )Nr•  r  r˜  r¦  r®  )r(  r<  r  rŠ  r‹  rŒ  r�  s          r  rÈ   rÈ   ï  sw   € ô ×&Ñ& u¨c°7Ó;€EØ€}Ü×)Ñ)×4Ñ4Ø”+×+Ñ+×1Ñ1ó
ˆð �4‰4Ø˜T¬;×+DÑ+DÀUÓ+K×+UÑ+UÓ+Wð ó ð r  zaten::rreluc                óŽ   — |s||z   dz  }| j                  d||¬«      S | j                  d|||¬«      }| j                  d||«      S )Nr×  rŸ  r   r˜  )r›  rš  r…  r-  )r(  r/  rG  ÚupperrÎ  r  rí  r-  s           r  rÙ   rÙ     sT   € ñ Ø˜‘ #Ñ%ˆØ�t‰t�K °ˆtÓ6Ð6Ø	�‰Ð  %°¸UˆÓC€AØ�4‰4�˜ Ó"Ð"r  zaten::bernoullic                óz  — |�,t        j                  |«      st        j                  dd|«       |�,t        j                  |«      st        j                  dd|«       t        j                  j                  |t        j                  j                  «      }|t        j                  j                  k(  rt        j                  dd|«      S | j                  d|dd|j                  «       ¬«      }|�t        j                  |«      s|n|}| j                  d	||«      }| j                  d
||j                  «       ¬«      S )NÚ	Bernoulliz,out parameter is not supported for bernoulliz(generator is not supported for bernoulliúinput dtype not accessibler˜  r¯  r®  )r›  rš  r§  rê  rn  ro  )	r   rE  r\  r	   rt  ru  rv  r$  ry  )	r(  r/  r-  r  rz  r  ÚrandsÚprobrð  s	            r  r$   r$     s"  € à
€œ×7Ñ7¸Ô<Ü×&Ñ&ØÐGÈô	
ð Ð¤_×%=Ñ%=¸iÔ%HÜ×&Ñ&ØÐCÀUô	
ô ×%Ñ%×0Ñ0ØŒ{×(Ñ(×2Ñ2ó€Eð ”×)Ñ)×3Ñ3Ò3Ü×-Ñ-ØÐ5°uó
ð 	
ð �D‰DØØØØØ—‘Ó!ð ó €Eð �¤o×&>Ñ&>¸qÔ&A‰1Àu€DØ�T‰T�&˜% Ó&€FØ�4‰4�˜ U§_¡_Ó%6ˆ4Ó7Ð7r  zaten::log_sigmoidc                óJ   — | j                  d|«      }| j                  d|«      S )Nrõ  r6  r-  )r(  r/  r-  s      r  r|   r|   ,  s$   € ð 	
�‰ˆY˜Ó€AØ�4‰4��q‹>Ðr  z	aten::erfc                ó&   — | j                  d|«      S )NÚErfr-  r.  s     r  rL   rL   3  s   € ð �4‰4��uÓÐr  zaten::flattenc                ó–  — t        j                  |«      }|€t        j                  dd|«      S |dk(  rt        j                  | |dg«      S |dk(  r| j	                  d|«      S |dk  r||z   }|dk(  r||dz
  k(  r| j	                  d||¬«      S |dk(  r||dz
  k(  r| j	                  d||dz   ¬«      S t        j
                  | ||||«      S )	NrB   rŠ  r   rD  r  ÚFlattenrr  r¾  )r   r™  r\  r:  r$  Ú_flatten_helper)r(  r/  Ú	start_dimÚend_dimrB   s        r  rR   rR   9  sê   € ô ×
*Ñ
*¨5Ó
1€CØ
€{Ü×-Ñ-Øð7àó	
ð 	
ð ˆa‚xÜ×.Ñ.¨q°%¸!¸Ó=Ð=Ø
ˆa‚xØ�t‰t�J Ó&Ð&à�‚{Ø˜‘-ˆà�A‚~˜' S¨1¡WÒ,Ø�t‰t�I˜u¨YˆtÓ7Ð7Ø�A‚~˜' S¨1¡WÒ,Ø�t‰t�I˜u¨W°q©[ˆtÓ9Ð9ä×*Ñ*¨1¨e°YÀÈÓMÐMr  zaten::nonzeroc                ó:   — t        | | j                  d|«      «      S )z/Emitted from `torch.nonzero(x, as_tuple=False)`ÚNonZero)rô   r$  r.  s     r  r¦   r¦   V  s   € ô ˆQ�—‘�Y Ó&Ó'Ð'r  zaten::nonzero_numpyc                ó4   — t        | t        | |«      d|¬«      S )NrD  )r^  )r   r¦   )r(  r/  r^  s      r  r¥   r¥   ]  s   € ô �!”W˜Q Ó&¨°HÔ=Ð=r  zaten::isnanc                ó*   — | j                  d|«      }|S )NÚIsNaNr-  )r(  r/  rð  s      r  rn   rn   c  s   € ð �T‰T�'˜5Ó!€FØ€Mr  z	aten::anyc                óü  — t        |«      dk(  r|d   }d\  }}nY|\  }}}t        j                  |d«      }|j                  d«      D �cg c]  }t	        |«      ‘Œ }}t        j                  |d«      }| j                  d|t        j                  j                  ¬«      }t        j                  | |||¬	«      }t        | || j                  d
t        j                  dt        j                  ¬«      ¬«      «      S c c}w )NrD  r   rU  rô   r(  r•  rn  ro  r©  r]  r~  r^  )rV  r   rÿ  r  r¹  r$  rq  rr  rs  r­  r_   r`  rù   rÚ  )r(  rX  r/  rB   r2  r8  Ú	input_sums          r  Ú_anyrÆ  j  sÝ   € ô ˆ4ƒy�A‚~Ø�Q‘ˆØ‰ˆ‰Wð #Ñˆˆs�Gä×(Ñ(¨¨cÓ2ˆØ"Ÿx™x¨›|Ö,˜!Œs�1�vÐ,ˆÐ,Ü!×,Ñ,¨W°cÓ:ˆØ�D‰D�˜¤W×%@Ñ%@×%FÑ%FˆDÓG€EÜ×1Ñ1Ø	ˆ5˜¨ô€Iô ˆa�˜AŸD™D ´U·\±\À!Ì5Ï:É:Ô5V˜DÓWÓXÐXùò -s   Á	C9z	aten::allc           
     óÈ   — | j                  d|d   «      }t        |«      dk(  r| j                  dt        | |«      «      S | j                  dt        | ||d   |d   «      «      S )Nr�  r   rD  r¾  )r$  rV  rÆ  )r(  rX  r/  s      r  Ú_allrÈ  ~  s^   € à�D‰D�˜˜Q™Ó €Eä
ˆ4ƒy�A‚~Ø�t‰t�Eœ4  5›>Ó*Ð*ð �t‰t�Eœ4  5¨$¨q©'°4¸±7Ó;Ó<Ð<r  zaten::narrowc                óB   — t        j                  | ||g|g||z   g¬«      S )Nrq  r>  )r(  r/  rB   r  Úlengths        r  r�   r�   ‰  s-   € ô ×(Ñ(Ø	ˆ5˜�u e W°E¸F±NÐ3Côð r  zaten::argmaxc                ó4   — t        j                  | |||d«      S )NÚArgMax©r   Ú_argmin_argmax_helper©r(  r/  rB   r2  s       r  r   r   ‘  ó   € ô ×0Ñ0°°E¸3ÀÈÓRÐRr  zaten::argminc                ó4   — t        j                  | |||d«      S )NÚArgMinrÍ  rÏ  s       r  r   r   œ  rÐ  r  zaten::scatterc           
     óÀ  — t         j                  j                  |t         j                  j                  «      }t	        j
                  |«      }t	        j                  |«      r| j                  d||||¬«      S t         j                  j                  |«      }||k7  r"| j                  d||j                  «       ¬«      }| j                  d||t        | ||«      |¬«      S )NÚScatterrr  rn  ro  )
r	   rt  ru  rv  r   rJ  rF  r$  ry  rN   )r(  r<  rB   rj   ÚsrcÚsrc_typerÃ  s          r  rÞ   rÞ   §  sÅ   € ô ×(Ñ(×3Ñ3ØŒ[×&Ñ&×0Ñ0ó€Hô ×
+Ñ
+¨CÓ
0€CÜ× Ñ  Ô%Ø�t‰t�I˜t U¨C¸ˆtÓ<Ð<ô '×4Ñ4×?Ñ?ÀÓEÐØ˜xÒ'Ø—$‘$�v˜sÐ)9×)CÑ)CÓ)E�$ÓFˆCØ�t‰t�I˜t U¬I°a¸¸eÓ,DÈSˆtÓQÐQr  zaten::scatter_addc                ód  — t        j                  |«      }|€t        j                  dd|«      S t        j                  |d¬«      }|r7| j	                  dt        j                  ||j                  «       ¬«      ¬«      }nt        | ||«      }t        j                  | ||||«      }t        | ||«      S )NrÝ   r´  F)Úallow_nonstaticr]  r~  r^  )r   r¿  r\  r†  r$  r`  r  r  r  Ú_scatter_helperr   )r(  r<  rB   rj   rÕ  r{  r½  Úto_adds           r  rÝ   rÝ   ¹  s§   € ô "×6Ñ6°tÓ<€KØÐÜ×-Ñ-ØÐ7¸ó
ð 	
ô ×-Ñ-¨dÀEÔJ€EÙØ—‘�j¬%¯+©+°eÀ;×CTÑCTÓCVÔ*W�ÓX‰ä˜A˜t [Ó1ˆÜ×,Ñ,¨Q°¸¸UÀCÓH€FÜˆq�$˜ÓÐr  z
aten::log2c           
     óˆ   — d}| j                  dt        | |«      | j                  dt        j                  |«      ¬«      «      S )Ngï9úþB.æ?rm  r]  r^  r9  )r(  r<  Ú_ln2s      r  r�   r�   Ê  s6   € à€DØ�4‰4�”s˜1˜d“| Q§T¡T¨*¼e¿l¹lÈ4Ó>P TÓ%QÓRÐRr  zaten::is_floating_pointc                óÈ   — t        j                  |«      r'| j                  dt        j                  dg«      ¬«      S | j                  dt        j                  dg«      ¬«      S ©Nr]  rD  r^  r   )r   rw  r$  r`  Ú
BoolTensorr”  s     r  rl   rl   Ð  sP   € ä×Ñ˜dÔ#Ø�t‰t�J¬×(8Ñ(8¸!¸Ó(=ˆtÓ>Ð>Ø�4‰4�
¤E×$4Ñ$4°a°SÓ$9ˆ4Ó:Ð:r  zaten::__is_c                ó  — t        j                  |«      rct        j                  |«      r'| j                  dt        j                  dg«      ¬«      S | j                  dt        j                  dg«      ¬«      S t        | ||«      S rÞ  )r   rE  r$  r`  rß  rK   rS  s      r  Ú__is_rá  ×  sm   € ä×Ñ Ô&Ü×#Ñ# DÔ)Ø—4‘4˜
¬E×,<Ñ,<¸a¸SÓ,A�4ÓBÐBØ�t‰t�J¬×(8Ñ(8¸!¸Ó(=ˆtÓ>Ð>Üˆa��uÓÐr  zaten::__isnot_c                ó   — t        | ||«      S r  )rá  rS  s      r  Ú__isnot_rã  à  s   € ô ��D˜%Ó Ð r  zaten::one_hotc                ó  — | j                  dt        j                  ddg«      ¬«      }t        j                  j                  |t        j                  j                  «      t        j                  j                  t        j                  j                  t        j                  j                  t        j                  j                  hv r,| j                  d|t        j                  j                  ¬«      }| j                  d|||d¬	«      S )
Nr]  r   rD  r^  rn  ro  ÚOneHotr(  rr  )r$  r`  r,  r	   rt  ru  rv  rÏ  rÐ  rÒ  rÑ  rq  rr  rs  )r(  r<  Únum_classesr  s       r  rª   rª   æ  sË   € à�T‰T�*¤e×&6Ñ&6¸¸1°vÓ&>ˆTÓ?€Fä× Ñ ×+Ñ+Ø”[×.Ñ.×8Ñ8óô 	×!Ñ!×'Ñ'Ü×!Ñ!×&Ñ&Ü×!Ñ!×%Ñ%Ü×!Ñ!×'Ñ'ð	
ñð —d‘d˜6 ;´W×5PÑ5P×5VÑ5V�dÓWˆØ�4‰4�˜$ ¨V¸Bˆ4Ó?Ð?r  zaten::gatherc           
     óF  — t        j                  |d«      rt        j                  dd|«      S t        j                  j                  |«      }| j                  dt        j                  ddg«      ¬«      }t        | || j                  dt        j                  |g«      ¬«      «      }| j                  d| j                  d	||||¬
«      |j                  «       ¬«      }| j                  dt        j                  | ||dz   g«      |«      }t        j                  | ||gd¬«      S )Nr•  rY   zsparse_grad == Truer]  r   rD  r^  rn  rå  rr  ro  rE  r©  )r   r+  r\  r	   rt  ru  r$  r`  r,  rå   ry  r§  r­  )	r(  r<  rB   rj   Úsparse_gradr{  r  Údepthrš   s	            r  rY   rY   ö  s  € ô ×'Ñ'¨°SÔ9Ü×-Ñ-¨hÐ8MÈtÓTÐTô ×+Ñ+×6Ñ6°tÓ<€KØ�T‰T�*¤e×&6Ñ&6¸¸1°vÓ&>ˆTÓ?€FÜ��D˜!Ÿ$™$˜z´5×3CÑ3CÀSÀEÓ3J˜$ÓKÓL€EØ�D‰DØØ	�‰ˆX�u˜e V°CˆÓ8Ø×"Ñ"Ó$ð ó €Eð
 �$‰$ˆu”o×7Ñ7¸¸4À#ÈÁ'ÀÓKÈUÓ
S€CÜ×,Ñ,¨Q°¸S¸EÈaÔPÐPr  c                ó4   — t        j                  | ||||«      S r  )r   Ú_var_mean_helper)r(  r/  rB   Ú
correctionr2  s        r  Ú	_var_meanrí  	  s   € ä×+Ñ+¨A¨u°c¸:ÀwÓOÐOr  z	aten::stdc                óF   — t        | |g|¢­Ž \  }}| j                  d|«      S ©NrÎ  ©r	  r$  ©r(  r/  rX  r
  rÖ  s        r  rò   rò     s(   € ä�a˜Ð& Ò&�F€CˆØ�4‰4�˜ÓÐr  z	aten::varc                ó&   — t        | |g|¢­Ž \  }}|S r  )r	  rñ  s        r  r
  r
    s   € ä�a˜Ð& Ò&�F€CˆØ€Jr  zaten::var_meanc                ó\   — t        |«      dk(  rt        | |d |d   d «      S t        | |g|¢­Ž S )NrD  r   )rV  rí  )r(  r/  rX  s      r  r	  r	    s6   € ä
ˆ4ƒy�A‚~Ü˜˜E 4¨¨a©°$Ó7Ð7ä˜˜EÐ) DÒ)Ð)r  zaten::std_meanc                óJ   — t        | |g|¢­Ž \  }}| j                  d|«      |fS rï  rð  )r(  r/  rX  r
  r  s        r  rñ   rñ   "  s-   € ä˜˜EÐ) DÒ)�I€CˆØ�4‰4�˜Ó˜dÐ"Ð"r  zaten::logsumexpc                ó,   — | j                  d|||¬«      S )NÚReduceLogSumExpr©  r-  rÏ  s       r  r‡   r‡   (  s   € ð �4‰4Ð! 5°Àˆ4ÓIÐIr  úaten::arangec                óÂ  ‡ — d„ }ˆ fd„}t        |«      dk(  st        |«      dk(  rÀt        |«      dk(  rd }n ||d   «      }t        j                  ‰ |d   |¬«      \  }}}}t        j                  ‰ |dg«      } ||«      }t        j                  ‰ t        ‰ t        ‰ ||d d «      «      dg«      }	‰ j                  d|	t        j                  |«      j                  «       ¬	«      S t        |«      d
k(  st        |«      dk(  �r>t        |«      d
k(  rd }n ||d   «      }t        j                  ‰ |d   |d   |d   |¬«      \  }}}}t        j                  ‰ |dg«      }t        j                  ‰ |dg«      }t        j                  ‰ |dg«      } |‰ j                  d‰ j                  d||«      |«      «      }t        j                  ‰ t        ‰ t        ‰ |d d d «      «      dg«      }	‰ j                  d‰ j                  d|	|«      |«      }	‰ j                  d|	t        j                  |«      j                  «       ¬	«      S t        |«      dk(  rï ||d   «      }t        j                  ‰ |d   |d   |¬«      \  }}}}t        j                  ‰ |dg«      }t        j                  ‰ |dg«      } |‰ j                  d||«      «      }‰ j                  dt        j                  ‰ t        ‰ t        ‰ ||g|dd  ¢­Ž «      dg«      |«      }	‰ j                  d|	t        j                  |«      j                  «       ¬	«      S t        j                  ddt        |«      › d�«      S )Nc                ó2   — t        j                  | d«      } | S )Nr•  )r   r+  r~  s    r  Ú_get_arange_dtypez!arange.<locals>._get_arange_dtype0  s   € Ü×0Ñ0°¸Ó<ˆØˆr  c                óÆ   •— t        j                  | «      rJ‰j                  d‰j                  d| «      t        j                  j
                  j                  «       ¬«      } | S )Nrn  r—  ro  )r   rw  r$  r	   rt  rs  ry  )Úrange_tensorr(  s    €r  Ú_float_step_convertz#arange.<locals>._float_step_convert4  sU   ø€ Ü×!Ñ! ,Ô/ØŸ4™4ØØ—‘�V˜\Ó*Ü ×.Ñ.×4Ñ4×>Ñ>Ó@ð  ó ˆLð
 Ðr  r¾  r*  rD  r   )r  r  rn  ro  r(  rè  rÄ  )r  r  rý  r  rm  rN  rB  rE  r•  )r  r  r  r÷  r´  rµ  )rV  r   Ú_arange_cast_helperr§  rn  r¦   r¬   r$  r	   rt  ry  r\  )
r(  rX  rú  rý  r  r  r  rý  rü  Úarange_tensors
   `         r  r   r   .  s`  ø€ òôô ˆ4ƒy�A‚~œ˜T› ašÜˆt‹9˜Š>à‰Eñ & d¨1¡gÓ.ˆEÜ"1×"EÑ"EØ�4˜‘7 %ô#
Ñˆˆs�E˜4ô ×/Ñ/°°3¸¸Ó<ˆÙ*¨3Ó/ˆÜ'×7Ñ7ØŒw�qœ$˜q ,°°t¸TÓBÓCÀaÀSó
ˆð �t‰tØ�M¬×(AÑ(AÀ%Ó(H×(RÑ(RÓ(Tð ó 
ð 	
ô 
ˆT‹�aŠœ3˜t›9¨›>Üˆt‹9˜Š>à‰Eñ & d¨1¡gÓ.ˆEÜ"1×"EÑ"EØ�T˜!‘W $ q¡'°°Q±¸uô#
Ñˆˆs�E˜4ô ×0Ñ0°°D¸1¸#Ó>ˆÜ×/Ñ/°°3¸¸Ó<ˆÜ×1Ñ1°!°U¸Q¸CÓ@ˆÙ*¨1¯4©4°°q·t±t¸EÀ3ÈÓ7NÐPTÓ+UÓVˆÜ'×7Ñ7ØŒw�qœ$˜q ,°°d¸DÓAÓBÀQÀCó
ˆð Ÿ™˜U A§D¡D¨°¸tÓ$DÀeÓLˆØ�t‰tØ�M¬×(AÑ(AÀ%Ó(H×(RÑ(RÓ(Tð ó 
ð 	
ô 
ˆT‹�aŠá! $ q¡'Ó*ˆÜ"1×"EÑ"EØ�T˜!‘W $ q¡'°ô#
Ñˆˆs�E˜4ô ×/Ñ/°°3¸¸Ó<ˆÜ×1Ñ1°!°U¸Q¸CÓ@ˆÙ*¨1¯4©4°°s¸EÓ+BÓCˆØŸ™ØÜ×+Ñ+Ø”7˜1œd 1 l°EÐG¸TÀ!À"¸XÒGÓHÈ1È#óð ó
ˆð �t‰tØ�M¬×(AÑ(AÀ%Ó(H×(RÑ(RÓ(Tð ó 
ð 	
ô ×)Ñ)¨.¸EÄ#ÀdÃ)ÀÈJÐ:WÓXÐXr  zaten::linspacec                ó  — t        j                  | |d «      }t        | t        | ||«      t        | || j	                  dt        j                  dt
        j                  ¬«      ¬«      «      «      }	t        | t        | ||	«      |«      S )Nr]  rD  r~  r^  )
r   Ú_arange_helperrC   ró   r$  r`  rù   rƒ  r   rš   )
r(  r  r  Ústepsr  rŠ  r‹  rŒ  rü  rý  s
             r  r{   r{   {  ss   € ô #×1Ñ1°!°U¸DÓA€LÜØ	ÜˆAˆs�EÓÜˆAˆu�a—d‘d˜:¬u¯|©|¸AÄUÇ[Á[Ô/Q�dÓRÓSó€Dô
 ˆq”#�a˜ tÓ,¨eÓ4Ð4r  z
aten::liftc                ó   — |S r  r   r”  s     r  ru   ru   ˆ  s	   € ð €Kr  zaten::masked_fillc                óÔ   — | j                  d|t        j                  j                  ¬«      }t	        j
                  |«      }| j                  d|t	        j                  ||«      |«      S )zŸImplement the masked_fill functionality available for a pytorch tensor in ONNX.

    Fills elements of the input tensor with `value` where `mask` is True.
    rn  ro  ré  )r$  rq  rr  ry  r   rJ  rÔ  ©r(  r<  Úmaskrc  s       r  r‹   r‹   Ž  sW   € ð �4‰4�˜¤7×#>Ñ#>×#CÑ#Cˆ4ÓD€DÜ×-Ñ-¨eÓ4€EØ�4‰4�˜œ×AÑAÀ%ÈÓNÐPTÓUÐUr  zaten::masked_fill_c                ó   — t        | |||«      S r  )r‹   r  s       r  rŒ   rŒ   ™  s   € ä�q˜$  eÓ,Ð,r  úaten::indexc                óP  ‡ ‡— t        j                  |«      rt        j                  |«      }n|g}ˆ ˆfd„}|D �cg c]
  } ||«      ‘Œ }}t        |«      dk(  rt        j                  ‰ ‰d|d   d¬«      S t        |«      D ��cg c]  \  }}t        j                  |«      rŒ|‘Œ }}}t        |«      dk(  r‰S t        |«      dk(  rt        ‰ ‰|d   ||d      «      S t        j                  ‰«      }|€t        j                  dd‰«      S t        j                  dt        j                  › d	�«       t        |«      }	t        ‰ ‰«      }
t        |«      D �cg c]<  }‰ j!                  d
|
‰ j!                  dt#        j$                  |g«      ¬«      d¬«      ‘Œ> }}‰ j!                  d‰|t        |«      D �cg c]	  }||vsŒ|‘Œ c}z   ¬«      Š‰ j!                  d‰|	¬«      Š||d      }||d      }t        |	dz
  dd«      D ]G  }‰ j!                  d|||      |«      }‰ j!                  d||«      }‰ j!                  d||||      «      }ŒI t        ‰ ‰d|«      Št        ‰ |«      }|t'        t        |d   |d   dz   «      «      k(  �r+‰ j!                  dt#        j$                  dg«      ¬«      gt        |«      D �cg c]  }||vsŒ||   ‘Œ c}z   } ‰ j                   dg|¢­ddiŽ}t        j(                  ‰ ‰|«      Št'        t        d|d   dz   «      «      dgz   t'        t        |d   dz   ||	z
  dz   «      «      z   }‰ j!                  d‰|¬«      Št        |d   «      D �cg c]  }||   ‘Œ	 c}|gz   t        |d   |«      D �cg c]  }||vr||   ‘Œ c}z   } ‰ j                   dg|¢­ddiŽ}n5 ‰ j                   d|gt        |«      D �cg c]  }||vr||   ‘Œ c}¢­ddiŽ}t        j(                  ‰ ‰|«      S c c}w c c}}w c c}w c c}w c c}w c c}w c c}w c c}w )Nc                óº  •— t        j                  | «      sÄt        j                  j	                  | t        j                  j
                  «      t        j                  j                  k(  st        j                  | «      r\‰j                  dk  rt        j                  d‰«      ‚t        j                  d«       t        j                  ‰t        ‰| «      dg«      } | S )Nr  z?Exporting masked indices are only supported after ONNX opset 9.z—Exporting aten::index operator with indices of type Byte. Only 1-D indices are supported. In any other case, this will produce an incorrect ONNX graph.rD  )r   rE  r	   rt  ru  rv  rÏ  rR  r  r
   rj  r=  r>  rn  r¦   )rj   r(  r<  s    €€r  Útry_mask_to_indexz index.<locals>.try_mask_to_index¥  s·   ø€ Ü×'Ñ'¨Ô.Ü×%Ñ%×0Ñ0Ø”{×0Ñ0×:Ñ:óô ×(Ñ(×.Ñ.ò/ô ×'Ñ'¨Ô.à�w‰w˜Š{Ü×/Ñ/ØUØóð ô �M‰Mð=ôô
 $×3Ñ3°A´w¸qÀ%Ó7HÈ1È#ÓNˆEØˆr  rD  r   F)Úapply_reshaper  z9operator of advanced indexing on tensor of unknown rank. z=Exporting aten::index operator of advanced indexing in opset zÀ is achieved by combination of multiple ONNX operators, including Reshape, Transpose, Concat, and Gather. If indices include negative values, the exported graph will produce incorrect results.r;  r]  r^  rr  r  r  r»  r(  r¾  rE  rB  r3  r4  )r   r-  r�  rV  r	  rö  rE  ri   r™  r\  r=  r>  r   rÈ  r0  r#  r$  r`  r,  r6  r:  )r(  r<  rj   r@  r  r  r•  Úadv_idx_indicesr  Úadv_idx_countÚshape_tensorrB   Údim_tensor_listÚcum_adv_indexÚ
multiplierÚ	adv_indexÚcum_adv_index_shape_tensorÚfolded_adv_idx_shape_listÚfolded_adv_idx_shapeÚadv_idx_permuteÚfinal_shape_listÚfinal_shapes   ``                    r  rj   rj   ž  së  ù€ ä×&Ñ& uÔ-Ü!×.Ñ.¨uÓ5‰à�'ˆõð* 29Ö9¨#Ñ  Õ%Ð9€GÐ9Ü
ˆ7ƒ|�qÒÜ×-Ñ-Øˆt�Q˜ ™
°%ô
ð 	
ô. & gÓ.÷
Ù�!�S´o×6NÑ6NÈsÕ6SŠAð
ˆñ 
ô ˆÓ 1Ò$ØˆKÜ�Ó! QÒ&ÜØ�4˜¨Ñ+¨W°_ÀQÑ5GÑ-Hóð ô #×3Ñ3°DÓ9ˆDØˆ|Ü&×5Ñ5Ø!ØOØóð ô �M‰MØOÜ×4Ñ4Ð5ðiðiôô   Ó0ˆMÜ+¨A¨tÓ4ˆLô ! ›;öð ð —‘ØØ Ø—D‘D˜¬U×-=Ñ-=¸s¸eÓ-D�DÓEØð	 õ ðˆOð ð —4‘4ØØØ&Ü# D›kÖF˜¨Q°oÒ-E’1ÒFñGð ó ˆDð —4‘4˜	 4°�4Ó>ˆDð $ O°BÑ$7Ñ8ˆMØ(¨¸Ñ)<Ñ=ˆJÜ˜=¨1Ñ,¨b°"Ó5ò �ØŸD™D ¨°ÀÑ0BÑ(CÀZÓP�	Ø !§¡ U¨M¸9Ó E�ØŸT™TØ˜: °ÀqÑ7IÑ'Jó‘
ðô    4¨¨MÓ:ˆDä)9¸!¸]Ó)KÐ&ð ¤$Ü�o aÑ(¨/¸"Ñ*=ÀÑ*AÓBó#ó ð
 —D‘D˜¬U×-=Ñ-=¸r¸dÓ-C�DÓDð-ô 16°d³öØ+,¸qÈÒ?W�O AÓ&òñ-Ð)ð
 (, q§t¡tØð(Ø8ò(ØABñ(Ð$ô '×6Ñ6°q¸$Ð@TÓU�ô œ˜q /°!Ñ"4°qÑ"8Ó9Ó:Ø�cñäœ5 °Ñ!3°aÑ!7¸ÀÑ9MÐPQÑ9QÓRÓSñTð  ð
 —t‘t˜K¨°o�tÓF�ô 27°ÀqÑ7IÓ1JÖK¨A�_ QÓ'ÒKØ1Ð2ñ3ô "' °qÑ'9¸4Ó!@öàØ OÑ3ð (¨Ó*òñð !ð #˜aŸd™d 8ÐIÐ.>ÒIÀqÑI‘à"˜aŸd™dØØ.ð	ô
 "' t£öàØ OÑ3ð (¨Ó*òò	ð ñ	�ô #×2Ñ2°1°d¸KÓHÐHùòK :ùó0
ùò:ùò Gùò6ùò$ LùòùòsB   »O?ÂPÂ#PÅAP
Æ6	PÇ PÊ<	PËPÍ$PÎPÏP#
zaten::linalg_normc                óT  — d }|€£t        j                  |«      r?t        j                  | |dg«      }| j                  dt	        j
                  dg«      ¬«      }t        j                  |«      }|€t        j                  dd|«      S |dk(  rt        j                  |d«      }ned	dg}n`t        |«      dk(  rRt        j                  |«      r'| j                  dt	        j
                  dg«      ¬«      }t        j                  |d«      }|rt        | |||||«      S t        | |||||«      S )
Nr(  r]  r¾  r^  rB   ú(Input rank must be known at export time.rD  rZ  r   )r   rE  r:  r$  r`  r,  r™  r\  rÿ  rV  ry   rw   )r(  r<  ÚordrB   r2  r  Ú	ord_valueÚself_dims           r  rx   rx   B  s  € ð €IØ
€{Ü×#Ñ# CÔ(Ü"×2Ñ2°1°d¸R¸DÓAˆDØ—$‘$�z¬5×+;Ñ+;¸Q¸CÓ+@�$ÓAˆCÜ"×3Ñ3°DÓ9ˆØÐÜ"×1Ñ1ØÐAÀ4óð ð �qŠ=Ü'×2Ñ2°3¸Ó<‰Ià�a�&‰Cäˆs‹8�qŠ=Ü×'Ñ'¨Ô,Ø—d‘d˜:¬u×/?Ñ/?ÀÀÓ/D�dÓE�Ü'×2Ñ2°3¸Ó<ˆIÙÜ! ! T¨9°c¸7ÀEÓJÐJÜ˜a  s¨C°¸%Ó@Ð@r  zaten::linalg_vector_normc                ó6   — t        j                  | |||||«      S r  )r   Ú_linalg_vector_norm_helper)r(  r<  r  rB   r2  r  s         r  ry   ry   e  s    € ô ×5Ñ5°a¸¸sÀCÈÐRWÓXÐXr  zaten::linalg_matrix_normc                óÂ  — t        j                  |d«      }|dk(  rt        | |||«      S |dk(  rt        j                  dd|«      S t        j                  |d«      }|€t        | |||«      S |dk(  s|dk(  rt        j                  dd	|«      S t        j                  |«      }|€t        j                  dd
|«      S |d   dk  r|dxx   |z  cc<   |d   dk  r|dxx   |z  cc<   |t
        j                  k(  s|t
        j                   k(  r|d   |d   c|d<   |d<   |d   |d   kD  r|s|dxx   dz  cc<   t        j                  | | j                  d|«      |d   g|¬«      }|dkD  r<t        | || j                  dt        j                  |d   g«      ¬«      |¬«      \  }	}
|	S t        | || j                  dt        j                  |d   g«      ¬«      |¬«      \  }	}
|	S )Nre  ÚfroÚnuczlinalg.matrix_normzord==nucrZ  r¾  r  zord==2r  r   rD  r4  r©  r]  r^  )rM  r2  )r   rÿ  rV   r\  r™  rë  Úinfr­  r$  r‘   r`  r,  r”   )r(  r<  r  rB   r2  r  r  r  r  ró  Ú_indicess              r  rw   rw   r  s
  € ô  ×*Ñ*¨3°Ó4€IØ�EÒÜ˜a  s¨GÓ4Ð4Ø	�eÒ	Ü×-Ñ-Ð.BÀJÐPTÓUÐUä#×.Ñ.¨s°CÓ8ˆ	ØÐÜ! ! T¨3°Ó8Ð8Ø˜Š>˜Y¨"š_ô #×1Ñ1Ð2FÈÐRVÓWÐWä"×3Ñ3°DÓ9ˆØÐÜ"×1Ñ1Ø$Ð&PÐRVóð ð
 ˆq‰6�AŠ:Ø�‹F�hÑ‹FØˆq‰6�AŠ:Ø�‹F�hÑ‹FàœŸ™Ò  I´$·(±(°Ò$:Ø  ™V S¨¡VˆNˆC�‰F�C˜‘FØˆq‰6�C˜‘FŠ?¡7Ø�‹F�a‰K‹FÜ×/Ñ/Øˆq�t‰t�E˜4Ó ¨#¨a©&¨¸gô
ˆð �qŠ=Ü"ØØØŸ™˜j´%×2BÑ2BÀCÈÁFÀ8Ó2L˜ÓMØô	 ÑˆF�Hð ˆô  #ØØØŸ™˜j´%×2BÑ2BÀCÈÁFÀ8Ó2L˜ÓMØô	 ÑˆF�Hð ˆr  zaten::linalg_crossc                ó   — t        | |||«      S r  )r?   )r(  r/  r@  rB   s       r  rv   rv   ¯  s   € ô ��E˜5 #Ó&Ð&r  zaten::frobenius_normc                ó~   — | j                  d||«      }t        j                  | |||¬«      }| j                  d|«      S )NrE  r©  rÎ  )r$  r   r­  )r(  r<  rB   r2  ÚsqrÚsumsqrs         r  rV   rV   µ  s=   € ð �$‰$ˆu�d˜DÓ
!€CÜ×.Ñ.¨q°#¸cÈgÔV€FØ�4‰4�˜ÓÐr  zaten::multinomialc                ó  — |�,t        j                  |«      st        j                  dd|«       |s|dkD  rt        j                  dd|«       t        | |«      }| j	                  d|t
        j                  j                  |¬«      S )NÚMultinomialz*generator is not supported for multinomialrD  zGreplacement=False when num_samples > 1 is not supported for multinomial)r§  Úsample_size_i)r   rE  r\  r~   r$  rq  rr  rs  )r(  r/  Únum_samplesÚreplacementr  Ú	log_inputs         r  r›   r›   ½  sŠ   € ð
 Ð¤_×%=Ñ%=¸iÔ%HÜ×&Ñ&ØÐGÈô	
ñ ˜;¨š?Ü×&Ñ&ØØUØô	
ô �A�u“€IØ�4‰4ØØÜ×+Ñ+×1Ñ1Ø!ð	 ó ð r  zaten::baddbmmc           
     ó(  — t         j                  j                  |«      }t        | ||«      }t	        | || j                  d||j                  «       ¬«      «      }t	        | || j                  d||j                  «       ¬«      «      }	t        | ||	«      S rŽ  )r	   rt  ru  r�   rš   r$  ry  r   )
r(  r<  Úbatch1Úbatch2rÂ  rL  r{  Ú	batch_mulÚmul_aÚmul_bs
             r  r"   r"   Ö  s�   € ä×+Ñ+×6Ñ6°tÓ<€KÜ�q˜& &Ó)€IÜØ	ØØ	�‰ˆV�U ×!6Ñ!6Ó!8ˆÓ9ó€Eô
 Ø	ØØ	�‰ˆV�T × 5Ñ 5Ó 7ˆÓ8ó€Eô
 ˆq�%˜ÓÐr  zaten::meshgridc                ó8  — |€d}n|dvrt        j                  d|› �|«      ‚t        j                  |«      }|dk(  r|dd d…   |d d |D �cg c]>  }t        j                  | || j                  dt        j                  dg«      ¬	«      «      ‘Œ@ }}|D �cg c]  }| j                  d
|«      ‘Œ }} | j
                  dg|¢­ddiŽ}g }t        |«      D ]“  \  }	}| j                  dt        j                  dt        j                  ¬«      ¬	«      gt        |«      z  }
||	   |
|	<   t        | | | j
                  dg|
¢­ddiŽ«      }|j                  | j                  d||«      «       Œ• |dk(  r|d   |d   c|d<   |d<    | j
                  dg|¢­Ž S c c}w c c}w )NÚij>   r7  ÚxyzUnsupported indexing: r8  rD  r(  r¾  r]  r^  r,  r3  r4  r   r~  r)  úprim::ListConstruct)r
   rj  r   r�  r:  r$  r`  r,  rö  r¬   rƒ  rV  r8  r  )r(  r¤  ÚindexingÚunpacked_tensor_listrô   r¥  Útensors_shapeÚ	out_shaperz  r•  r�  Ú
t_reshapeds               r  r“   r“   ç  sÕ  € ð ÐØ‰Ø	˜Ñ	%Ü×'Ñ'Ø$ X JÐ/°ó
ð 	
ô +×7Ñ7¸ÓDÐØ�4ÒØ#7¸¸¸2¸Ñ#>Ð˜R˜aÐ ð
 &ö	ð ô 	×'Ñ'Øˆq�!—$‘$�z¬5×+;Ñ+;¸R¸DÓ+A�$ÓBõ	
ð€Gð ð 07Ö7¨!�Q—T‘T˜' 1Õ%Ð7€MÐ7Ø�—‘�XÐ8 Ò8°aÑ8€IØ
€CÜ˜'Ó"ò :‰ˆˆ1Ø—4‘4˜
¬E¯J©J°qÄÇÁÔ,L�4ÓMÐNÔQTØóR
ñ 
ˆð # 1Ñ%ˆ�‰
Ü)¨!¨Q°°·±°XÐ0RÀÒ0RÐPQÑ0RÓSˆ
Ø�
‰
�1—4‘4˜ *¨iÓ8Õ9ð:ð �4ÒØ˜Q™  Q¡ˆˆˆA‰��A‘Øˆ1�4‰4Ð%Ð,¨Ò,Ð,ùò%ùò 8s   ÁAFÂFzaten::remainderc                óh   — t        | ||«      }| j                  d||«      }| j                  d||«      S )NrE  rN  )rh  r$  )r(  r/  r@  rC   Úquos        r  rÒ   rÒ     s5   € ä
˜˜5 %Ó
(€CØ
�$‰$ˆu�c˜5Ó
!€CØ�4‰4��u˜cÓ"Ð"r  z
aten::geluc                ó  — |dk(  �r*t        j                  dt         j                  z  «      }d}t        j                  |t        j
                  ¬«      }t        j                  |t        j
                  ¬«      }t        j                  dt        j
                  ¬«      }t        j                  dt        j
                  ¬«      }t        | |t        | ||«      «      }	t        | |t        | |t        | ||	«      «      «      }
t        | |t        | |t        | || j                  d|
«      «      «      «      S d}| j                  d	| j                  d
|t        j                  |t        j
                  ¬«      «      «      }t        | || j                  dt        j                  dt        j
                  ¬«      ¬«      «      }t        | t        | ||«      | j                  dt        j                  dt        j
                  ¬«      ¬«      «      S )Nr÷   r¾  g÷Hmâä¦?r~  r¯  ç      à?rÙ  gÍ;fž ö?r¹  rm  r]  rD  r^  )	rë  rí   rì  r`  rù   r�  rš   r   r$  )r(  r<  ÚapproximateÚkBetaÚkKapparÂ  Úkapparˆ  ÚhalfÚ	self_cubeÚinnerÚ_sqrt2rL   Úerf_plusones                 r  r[   r[     su  € ð �fÓÜ—	‘	˜!œdŸg™g™+Ó&ˆØˆä�|‰|˜E¬¯©Ô6ˆÜ—‘˜V¬5¯<©<Ô8ˆÜ�l‰l˜3¤e§l¡lÔ3ˆÜ�|‰|˜C¤u§|¡|Ô4ˆä˜˜4¤ Q¨¨dÓ!3Ó4ˆ	Ü�A�tœS  D¬#¨a°¸	Ó*BÓCÓDˆÜ�1�dœC  4¬¨Q°°Q·T±T¸&À%Ó5HÓ)IÓJÓKÐKà#ˆØ�d‰d�5˜!Ÿ$™$˜u d¬E¯L©L¸ÄuÇ|Á|Ô,TÓUÓVˆÜØˆs�A—D‘D˜¬U¯\©\¸!Ä5Ç<Á<Ô-P�DÓQó
ˆô ØÜ��4˜Ó%Ø�D‰D�¤U§\¡\°#¼U¿\¹\Ô%JˆDÓKó
ð 	
r  zaten::group_normc                ó„  — t        j                  |d«      }|�
||z  dk(  sJ ‚t        j                  |«      }|€t        j                  dd|«      S d|dg}	t        j                  | || j                  dt        j                  |	«      ¬«      «      }
| j                  dt        j                  dg|z  t        j                  j                  |«      j                  «       ¬	«      ¬«      }| j                  dt        j                  d
g|z  t        j                  j                  |«      j                  «       ¬	«      ¬«      }| j                  d|
|||¬«      }t        j                  | || j                  d|«      «      }|�|j                  «       j                  «       rVt        j                  dgt        j                  j                  |«      j                  «       ¬	«      }| j                  d|¬«      }|�|j                  «       j                  «       rVt        j                  d
gt        j                  j                  |«      j                  «       ¬	«      }| j                  d|¬«      }t        t!        d|dz
  «      «      }t#        | t%        | |t        j&                  | ||«      «      t        j&                  | ||«      «      S )NrD  r   r^   zunknown input rankr(  r]  r^  r¯  r~  r®  ré  rê  r,  )r   rŸ  r™  r\  r:  r$  r`  r,  rù   r	   rt  ru  r  r¡  Ú
mustBeNoner6  r#  r   rš   r§  )r(  r/  Ú
num_groupsr?  r�  rÐ  r£  rî  Ú
input_rankr7  rø  rô  rõ  Únorm_reshapedr§   rï  rð  rþ  s                     r  r^   r^   +  st  € ô #×7Ñ7¸¸qÓA€LØÐØ˜jÑ(¨AÒ-Ð-Ð-Ü ×1Ñ1°%Ó8€JØÐÜ×-Ñ-¨lÐ<PÐRWÓXÐXà�
˜BÐ€EÜ$×4Ñ4Ø	ˆ5�!—$‘$�z¬5×+;Ñ+;¸EÓ+B�$ÓCó€Nð �d‰dØÜ—‘ØˆE�JÑÜ×+Ñ+×6Ñ6°uÓ=×CÑCÓEô
ð ó €Gð �D‰DØÜ—‘ØˆE�JÑÜ×+Ñ+×6Ñ6°uÓ=×CÑCÓEô
ð ó €Eð —D‘DØ °¸%È3ð ó €Mô ×*Ñ*¨1¨m¸Q¿T¹TÀ'È5Ó=QÓR€Dà€~˜Ÿ™›×1Ñ1Ô3Ü—|‘|ØˆEœ×2Ñ2×=Ñ=¸eÓD×JÑJÓLô
ˆð —‘�j¨,�Ó7ˆØ€|�t—y‘y“{×-Ñ-Ô/Ü—\‘\ØˆEœ×2Ñ2×=Ñ=¸eÓD×JÑJÓLô
ˆ
ð �t‰t�J¨
ˆtÓ3ˆô ”�a˜ a™Ó(Ó)€DÜØ	ÜˆAˆt”_×6Ñ6°q¸&À$ÓGÓHÜ×)Ñ)¨!¨T°4Ó8óð r  zaten::_weight_normc                ó2  — t        j                  |«      }|�kt        t        |«      «      }|� |dk  r||z  }|dk7  r|j	                  |«       t        | |d|d«      }| j                  d||«      }| j                  d||«      S t        j                  d|«      ‚)Nr(  r¾  rD  rm  rE  zDUnsupported: ONNX export of _weight_norm for tensor of unknown rank.)	r   r™  r6  r#  Úremover§   r$  r
   rj  )r(  rk  Úweight_grB   r  rþ  Únorm_vrC   s           r  Ú_weight_normrU  h  s¢   € ô ×+Ñ+¨HÓ5€DØÐô ”E˜$“KÓ ˆØˆ?Ø�RŠxØ�t‘�Ø�bŠyØ—‘˜CÔ Ü�a˜ 1 d¨AÓ.ˆØ�d‰d�5˜( FÓ+ˆØ�t‰t�E˜3 Ó)Ð)Ü
×
#Ñ
#ØNØóð r  z	aten::dimc                óJ   — | j                  d|«      }| j                  d|«      S )zFImplement the dim functionality available for a pytorch tensor in ONNXr,  ÚSizer-  r;  s      r  rB   rB   �  s%   € ð �D‰D�˜$Ó€EØ�4‰4�˜ÓÐr  zaten::__contains_c           	     óH  — t        j                  |«      }t        d„ |D «       «      rft        j                  |«      rQ| j	                  dt        j                  t        j                  |j                  «       d«      d„ |D «       v «      ¬«      S t        j                  d|«      ‚)Nc              3  óF   K  — | ]  }t        j                  |«      –— Œ y ­wr  )r   rž  ©rš  r   s     r  rœ  z__contains_.<locals>.<genexpr>Œ  s    è ø€ ò Ø,-Œ×$Ñ$ Q×'ñùs   ‚!r]  rc  c              3  ód   K  — | ](  }t        j                  |j                  «       d «      –— Œ* y­w)rc  N)r   rd  r¡  rZ  s     r  rœ  z__contains_.<locals>.<genexpr>“  s#   è ø€ ÒXÀQ”O×-Ñ-¨a¯f©f«h¸×@ÑXùs   ‚.0r^  zJUnsupported: ONNX export of __contains__ for non-constant list or element.)r   r�  r   rž  r$  r`  rù   rd  r¡  r
   rj  )r(  r<  ÚelementÚunpacked_lists       r  Ú__contains_r^  ‰  s™   € ä#×0Ñ0°Ó6€MÜ
ñ Ø1>ôô ä
×
&Ñ
& wÔ
/Ø�t‰tØÜ—L‘LÜ×)Ñ)¨'¯,©,«.¸'ÓBÙXÈ-ÔXðYóð ó 
ð 	
ô ×
#Ñ
#ØTØóð r  zaten::__getitem_c           
     óh   — t        | || j                  dt        j                  dg«      ¬«      |«      S rš  )rß   r$  r`  rù   )r(  r<  r•  s      r  Ú
__getitem_r`  �  s+   € ä�!�T˜1Ÿ4™4 
´E·L±LÀ!ÀÓ4E˜4ÓFÈÓJÐJr  z
aten::itemc                ó   — |S r  r   r”  s     r  ro   ro   ¢  r«  r  z
aten::takec                óÔ   — t        j                  | || j                  dt        j                  dgt        j
                  ¬«      ¬«      «      }t        | |d|«      }t        | ||«      }|S )Nr]  r(  r~  r^  r   )r   r:  r$  r`  rù   rƒ  ri   rÖ   )r(  r<  rj   Úself_flattenedrz  s        r  rõ   rõ   §  s\   € ä$×4Ñ4Ø	ˆ4�—‘�j¬%¯,©,¸°tÄ5Ç;Á;Ô*O�ÓPó€Nô �q˜.¨!¨UÓ
3€CÜ
�Q˜˜UÓ
#€CØ€Jr  c                óR   — t        | ||«      }t        | |«      }t        | ||«      }|S r  )ró   rM   rš   )r(  r/  ÚtargetÚdiff_Úexp_rð  s         r  Ú_kl_div_log_target_implrh  ±  s.   € Ü��6˜5Ó!€EÜˆq�&‹>€DÜ��D˜%Ó €FØ€Mr  c           
     óè   — t        | |«      }t        | ||«      }t        | ||«      }t        | |«      }t	        | || j                  dt        j                  d«      ¬«      «      }t        | |||«      }|S rš  )	r~   ró   rš   r  r_   r$  r`  rù   r  )	r(  r/  re  Úlog_rf  Ú
output_posÚzeros_Úmask_rð  s	            r  Ú_kl_div_non_log_target_implrn  ¸  sm   € Üˆq�&‹>€DÜ��4˜Ó€EÜ�Q˜ Ó&€JÜ˜˜:Ó&€FÜˆq�&˜!Ÿ$™$˜z´5·<±<À³?˜$ÓCÓD€EÜ�1�e˜Z¨Ó0€FØ€Mr  zaten::kl_divc                óâ   — |rt        | ||«      }nt        | ||«      }|dk(  r|S |dk(  r| j                  d|d¬«      S |dk(  rt        j                  | |d¬«      S t        j
                  d|«      S )Nr   rD  r  ©rª  r¾  z4kl_div with reduction other than none, mean, or sum.)rh  rn  r$  r   r­  r  )r(  r/  re  Ú	reductionÚ
log_targetrð  s         r  rp   rp   Â  s   € ñ Ü(¨¨E°6Ó:‰ä,¨Q°°vÓ>ˆà�A‚~ØˆØ	�aŠØ�t‰t�L &°QˆtÓ7Ð7Ø	�aŠÜ×0Ñ0°°FÀqÔIÐIä×0Ñ0ØBÀEó
ð 	
r  zaten::mse_lossc           	     óî   — t        | t        | ||«      t        | ||«      «      }|dk(  r|S |dk(  r| j                  d|d¬«      S |dk(  rt        j                  | |d¬«      S t        j
                  d|«      S )Nr   rD  r  rp  r¾  z6mse_loss with reduction other than none, mean, or sum.)rš   ró   r$  r   r­  r  )r(  r/  re  rq  rð  s        r  r™   r™   Ö  s€   € ô �”C˜˜5 &Ó)¬3¨q°%¸Ó+@ÓA€FØ�A‚~ØˆØ	�aŠØ�t‰t�L &°QˆtÓ7Ð7Ø	�aŠÜ×0Ñ0°°FÀqÔIÐIä×0Ñ0ØDÀeó
ð 	
r  zaten::as_stridedc                ó  — t        j                  |d«      }t        |«      }t        j                  | || j	                  dt        j                  dgt
        j                  ¬«      ¬«      «      }t        j                  |«      s¦t        j                  dgt
        j                  ¬«      }t        t        ||«      «      D ]=  \  }\  }	}
dg|z  }d||<   |t        j                  |	«      j                  |«      |
z  z   }Œ? |r||z   }| j	                  d|| j	                  d|¬«      «      S d }t        |«      D �]  \  }}
dg|z  }d||<   t        | || j	                  dt        j                  dg«      ¬«      | j	                  dt        j                  |«      ¬«      «      }	t        j                  | t        | |	d	d d d «      | j	                  dt        j                  |«      ¬«      «      }| j	                  d
|| j	                  dt        j                  |
g«      ¬«      «      }|€|}Œï| j	                  d||«      }�Œ |r7| j	                  d|| j	                  dt        j                  |g«      «      «      }| j	                  d||«      S )Nr'  r]  r(  r~  r^  r   rD  r;  r(  rE  rB  )r   r+  rV  r:  r$  r`  rù   rƒ  rF  rÚ  rö  rÒ  r   r  rß   )r(  r<  r½  ÚstridesÚoffsetr  Úself_1dÚindr•  rå   r»  Úr_sizeÚtmp_inds                r  r   r   æ  sF  € ô ×,Ñ,¨U°DÓ9€EÜˆw‹<€DÜ×-Ñ-Ø	ˆ4�—‘�j¬%¯,©,¸°tÄ5Ç;Á;Ô*O�ÓPó€Gô ×$Ñ$ UÔ+Ü�l‰l˜A˜3¤e§j¡jÔ1ˆÜ!*¬3¨u°gÓ+>Ó!?ò 	AÑˆA‰~��fØ�S˜4‘ZˆFØˆF�1‰IØœŸ™ TÓ*×/Ñ/°Ó7¸&Ñ@Ñ@‰Cð	Añ Ø˜‘,ˆCØ�t‰t�H˜g q§t¡t¨JÀ tÓ'DÓEÐEàˆÜ" 7Ó+ó 	0‰IˆAˆvØ�S˜4‘ZˆFØˆF�1‰IÜØØØ—‘�Z¬¯©°q°cÓ):�Ó;Ø—‘�Z¬¯©°a«�Ó9ó	ˆDô &×5Ñ5ØÜ�q˜$  4¨¨tÓ4Ø—‘�Z¬¯©°fÓ)=�Ó>óˆGð
 —d‘dØ�w §¡ Z¼¿¹ÀvÀhÓ9O Ó PóˆGð ˆ{Ø‘à—d‘d˜5 # wÓ/’ð)	0ñ* Ø—$‘$�u˜c 1§4¡4¨
´E·L±LÀ&ÀÓ4JÓ#KÓLˆCØ�t‰t�H˜g sÓ+Ð+r  zaten::__derive_indexc           	     óJ   — | j                  d|| j                  d||«      «      S )NrB  rE  r-  )r(  rj   r  rý  s       r  Ú__derive_indexr|    s"   € à�4‰4��u˜aŸd™d 5¨%°Ó6Ó7Ð7r  zaten::__range_lengthc                óº   — | j                  d||«      }| j                  dt        | ||«      «      }| j                  d|t        j                  j                  ¬«      S )NrN  r—  rn  ro  )r$  rþ   rq  rr  rs  )r(  Úlor  rý  ró   rC   s         r  Ú__range_lengthr    sP   € ð �$‰$ˆu�b˜"Ó
€CØ
�$‰$ˆv”{ 1 c¨4Ó0Ó
1€CØ�4‰4�˜¤'×"=Ñ"=×"CÑ"Cˆ4ÓDÐDr  zaten::linearc                óú  — t        j                  |«      }t        | |«      }|dk(  rœ|j                  «       j	                  «       s~| j                  dt        j                  dt        j                  ¬«      ¬«      }| j                  dt        j                  dt        j                  ¬«      ¬«      }t        | |||||«      }|S t        | ||«      }|j                  «       j	                  «       st        | ||«      }|S )Nr¾  r]  rD  r~  r^  )r   r™  rô   r¡  rM  r$  r`  rù   rƒ  r   r�   r   )r(  r/  r?  r�  r  rL  rÂ  rð  s           r  rz   rz   )  sÇ   € ä×+Ñ+¨EÓ2€DÜˆq�&‹\€FØˆq‚y˜Ÿ™›×/Ñ/Ô1Ø—‘�Z¬¯©°a¼u¿{¹{Ô)K�ÓLˆØ�t‰t�J¬¯©°Q¼e¿k¹kÔ(JˆtÓKˆÜ�q˜$  v¨u°dÓ;ˆð €Mô	 ˜˜5 &Ó)ˆØ�y‰y‹{×%Ñ%Ô'Ü˜˜D &Ó)ˆFà€Mr  zaten::hann_windowc                óþ  — |€Rt        j                  «       }|r|j                  st         j                  }t        j
                  j                  |«      }	nt	        j
                  |«      }	t        | |dd d d «      }
| j                  d|
t        j                  j                  ¬«      }t        | | j                  dt        j                  t        j                  t         j                  ¬«      ¬«      |«      }|du rAt!        | || j                  dt        j                  dt         j"                  ¬«      ¬«      «      }t%        | ||«      }| j                  dt'        | t)        | |«      «      |	j+                  «       ¬«      }|S )	Nr(  rn  ro  r]  r~  r^  FrD  )r`  r�  rl   rŽ  r	   rt  Ú
from_dtyper   r$  rq  rr  rx  rš   rù   rë  rì  ró   r¹  rC   rî   rä   ry  )r(  Úwindow_lengthÚperiodicr  rŠ  r‹  rŒ  rš  Údtype_r{  Ún_arrayrð  s               r  r`   r`   9  s6  € ð €}Ü×(Ñ(Ó*ˆÙ˜V×5Ò5Ü—[‘[ˆFÜ!×/Ñ/×:Ñ:¸6ÓB‰ä!×/Ñ/°Ó6ˆä�Q˜ q¨$°°dÓ;€GØ�T‰T�&˜'¬×(CÑ(C×(IÑ(IˆTÓJ€FÜØ	ˆ1�4‰4�
¤E§L¡L´·±ÄÇÁÔ$Lˆ4ÓMÈvó€Fð �5ÑÜØˆ}˜aŸd™d :´u·|±|ÀAÌUÏYÉYÔ7W˜dÓXó
ˆô ��F˜MÓ*€FØ�T‰TØÜˆq”#�a˜“.Ó!Ø×"Ñ"Ó$ð ó €Fð €Mr  zaten::mvc                ó   — t        | ||«      S r  ©r�   )r(  r<  Úvecs      r  rœ   rœ   a  s   € ä�!�T˜3ÓÐr  z	aten::dotc                ó   — t        | ||«      S r  rˆ  rS  s      r  rD   rD   f  s   € ä�!�T˜5Ó!Ð!r  zaten::movedimc                ó�  — |j                  d«      }|j                  d«      }|j                  «       |j                  «       k(  sJ ‚||k(  j                  «       r|S t        j                  |«      }|€J ‚t        t        |«      «      }|j                  «       }|j                  «       }t        |j                  «       |j                  «       «      D ]  \  }}	|||	<   d||<   d||	<   Œ |D �
cg c]
  }
|
dk7  sŒ	|
‘Œ }}
|D �
cg c]
  }
|
dk7  sŒ	|
‘Œ }}
t        ||«      D ]
  \  }}	|||	<   Œ | j                  d||¬«      S c c}
w c c}
w )Nr(  r  r  )r  rå   r   r   r™  r6  r#  rì  rÒ  Útolistr$  )r(  r<  r  Údestinationr‡  r%  Úsrc_dimsÚdst_dimsrÕ  ÚdstrB   s              r  r˜   r˜   k  sO  € ð �[‰[˜‹_€FØ×"Ñ" 2Ó&€Kà�;‰;‹=˜K×,Ñ,Ó.Ò.Ð.Ð.à�+Ñ×"Ñ"Ô$Øˆä×0Ñ0°Ó6€IØÐ Ð Ð ä”�iÓ Ó!€Dà�y‰y‹{€HØ�y‰y‹{€Hä˜Ÿ™›¨×);Ñ);Ó)=Ó>ò ‰ˆˆSØˆˆS‰	Øˆ�‰Øˆ�Šðð
  (Ö5˜¨3°"«9’Ð5€HÐ5Ø'Ö5˜¨3°"«9’Ð5€HÐ5ä˜ (Ó+ò ‰ˆˆSØˆˆSŠ	ðð �4‰4�˜T¨$ˆ4Ó/Ð/ùò 6ùÚ5s   Ã+
D>Ã6D>Ä 
EÄEz
aten::fillc                óŽ   — t         j                  j                  |t         j                  j                  «      }t	        | |||«      S r  )r	   rt  ru  rx  rW   )r(  r<  rc  r{  s       r  rQ   rQ   �  s>   € ô ×+Ñ+×6Ñ6ØŒk×'Ñ'×-Ñ-ó€Kô �Q˜˜e [Ó1Ð1r  zaten::index_addc           
     óÒ  — t        j                  d«       |rBt        j                  t        j                  |«      «      dk7  rt        j
                  dd|«      S t        j                  |d«      }|€t        j                  d|«      ‚t        j                  |«      }t        j                  |«      }|�|€t        j                  d|«      ‚||k7  r@||z
  }t        |«      D ]-  }	t        j                  | |t        j                  |«      g«      }Œ/ t        j                  ||«      }
t        j                  ||«      }|
�|�|
|kD  rt        j                  d|«      ‚t        t        |«      «      }t        |«      D �	cg c]  }	d	‘Œ }}	t        |«      D �	cg c]  }	|	|k7  rt        j                  nd‘Œ }}	t        j                   | ||||¬
«      }t#        | ||«      }t        |«      D ]  }	t        j                  | |d	g«      }Œ t        ||z
  dz
  «      D ]-  }	t        j                  | |t        j                  |«      g«      }Œ/ t%        | ||t#        | ||«      |«      S c c}	w c c}	w )NzyWarning: ONNX export does not support duplicated values in 'index' field, this will cause the ONNX model to be incorrect.rD  re   z
alpha != 1r•  zXONNX export does NOT support exporting 'index_add_()' function with unknown 'dim' value.z~ONNX export does NOT support exporting 'index_add_()' function while the rank of self tensor or tensor to be added is unknown.zoONNX export does not support exporting 'index_add_()' function with duplicated values in 'index' parameter yet.r   rq  )r=  r>  r   rI  rJ  r\  r+  r
   rj  r™  r#  r§  rŸ  r6  ÚsysÚmaxsizers  rN   rÝ   )r(  r<  rB   rj   r@  rL  Úself_dim_rankÚother_dim_rankÚdeltar•  Úother_dim_sizeÚself_dim_sizeÚnew_shape_axesÚnew_shape_startsÚnew_shape_endsr  s                   r  re   re   –  sy  € ä‡M�Mð	<ôñ ”×(Ñ(¬×)JÑ)JÈ5Ó)QÓRÐVWÒWÜ×-Ñ-¨k¸<ÈÓNÐNä
×
*Ñ
*¨3°Ó
4€CØ
€{Ü×'Ñ'ð#àó
ð 	
ô $×4Ñ4°TÓ:€MÜ$×5Ñ5°eÓ<€NàÐ Ð 6Ü×'Ñ'ðHàó
ð 	
ð ˜Ò&Ø Ñ.ˆÜ�u“ò 	ˆAÜ#×5Ñ5Ø�5œ?×;Ñ;¸EÓBÐCó‰Eð	ô
 %×9Ñ9¸%ÀÓE€NÜ#×8Ñ8¸¸sÓC€MàÐ"¨Ð)BØ˜MÒ)Ü×+Ñ+ð>àóð ô œ% Ó.Ó/€NÜ#(¨Ó#7Ö8˜ašÐ8ÐÐ8Ü@EÀmÓ@TÖU¸1 a¨3¢h”c—k’k°QÑ6ÐU€NÐUä×-Ñ-Ø	ˆ4�nÐ-=ÀNô€Iô �a˜ 	Ó*€Eä�3‹Zò AˆÜ×1Ñ1°!°U¸Q¸CÓ@‰ðAô �= 3Ñ&¨Ñ*Ó+ò 
ˆÜ×1Ñ1Øˆu”×7Ñ7¸Ó>Ð?ó
‰ð
ô
 �q˜$ ¤Y¨q°%¸Ó%?ÀÓGÐGùò! 9ùÚUs   Å=	IÆI$z
aten::rollc           	     ó”  — t        |«      t        |«      k(  sJ ‚|}t        t        |«      «      D ]•  }g }t        j                  | |||   g||    gt        j
                  g¬«      }|j                  |«       t        j                  | |||   gdg||    g¬«      }|j                  |«        | j                  dg|¢­d||   iŽ}Œ— |S )Nrq  r   r3  r4  )rV  r#  r   rs  r“  r”  r  r$  )r(  r<  Úshiftsr7  ró  r•  rž  r7  s           r  rØ   rØ   Ü  s×   € ô ˆv‹;œ#˜d›)Ò#Ð#Ð#à€FÜ”3�v“;Óò 
9ˆØˆÜ×-Ñ-Øˆv˜T !™W˜I°°q±	¨z¨lÄ#Ç+Á+Àô
ˆð 	�‰�eÔÜ×-Ñ-Øˆv˜T !™W˜I¨q¨c¸&À¹)¸¸ô
ˆð 	�‰�eÔØ�—‘�hÐ8 Ò8°°Q±Ñ8‰ð
9ð €Mr  zaten::crossc           	     óô   — t        j                  ||«      }t        | |dg|g«      }t        | |dg|g«      }t        | |dg|g«      }t        | |dg|g«      }t        | t	        | ||«      t	        | ||«      «      S )Nr¾  rD  )r   Ú_get_dim_for_crossrØ   ró   rš   )r(  r/  r@  rB   Úroll_x_1Úroll_y_1Úroll_x_2Úroll_y_2s           r  r?   r?   ñ  s�   € ô ×
,Ñ
,¨U°CÓ
8€Cô
 �A�u˜q˜c C 5Ó)€HÜ�A�u˜q˜c C 5Ó)€Hô �A�u˜q˜c C 5Ó)€HÜ�A�u˜q˜c C 5Ó)€Hô ˆq”#�a˜ 8Ó,¬c°!°X¸xÓ.HÓIÐIr  zaten::cdistc                óÈ  — t        j                  |d«      }t        j                  |d«      }|€J ‚|€J ‚t        j                  |d«      }t        j                  |d«      }|dk(  r|dk(  s|€|dk\  r|dk\  rt        | ||«      S t        j                  |«      }|€J ‚t        j
                  | ||dz
  g«      }	t        j
                  | ||dz
  g«      }
t        | |	|
|dd	¬
«      S )Nr  rZ  r•  r×  rD  é   r¾  g�íµ ÷Æ°>F)rÐ  r2  )r   rŸ  rÿ  Ú_euclidean_distr™  r§  r¯   )r(  r%  r&  r-  Úcompute_modeÚrow_size_x1Úrow_size_x2Úp_floatr  Úbroadcasted_x1Úbroadcasted_x2s              r  r,   r,     s   € ô "×6Ñ6°r¸2Ó>€KÜ!×6Ñ6°r¸2Ó>€KØÐ"Ð"Ð"ØÐ"Ð"Ð"Ü×(Ñ(¨¨CÓ0€GÜ"×-Ñ-¨l¸CÓ@€LØ�#‚~Ø˜ÒØÐ  [°BÒ%6¸;È"Ò;Lä˜q " bÓ)Ð)Ü×+Ñ+¨BÓ/€DØÐÐÐÜ$×6Ñ6°q¸"¸tÀa¹x¸jÓI€NÜ$×6Ñ6°q¸"¸tÀa¹x¸jÓI€NÜØ	ˆ>˜>¨1°%Àôð r  c                ó  — t        j                  |«      }|€J ‚t        j                  | t        | |t        j                  | d«      «      dgd¬«      }t        | |«      }t        j                  | t        | |t        j                  | d«      «      dgd¬«      }t        | |«      } | j                  dgt        | t        j                  | d«      |«      ||g¢­ddiŽ} | j                  dg|||g¢­ddiŽ}	t        | |t        | |	dd«      «      }
t        j                  j                  |
«      }| j                  d	t        j                  | d
«      |j                  «       ¬«      }t        j                  | d|
|d¬«      }
t        | |
«      }
|
S )Nr×  r(  Tr©  r3  g       Àr4  r  rn  r®  ro  rE  r@  r�  )r   r™  r­  r³   rÙ  r«   r$  rš   r�   rý   r	   rt  ru  ry  r“  rí   )r(  r%  r&  r  Úx1_normÚx1_padÚx2_normÚx2_padÚx1_Úx2_ró  r  r”   s                r  r§  r§  $  s›  € ô ×+Ñ+¨BÓ/€DØÐÐÐÜ×/Ñ/Ø	ÜˆAˆr”?×;Ñ;¸A¸sÓCÓDØˆtØô	€Gô �q˜'Ó"€FÜ×/Ñ/Ø	ÜˆAˆr”?×;Ñ;¸A¸sÓCÓDØˆtØô	€Gô �q˜'Ó"€FØ
ˆ!�$‰$Øðô �”?×;Ñ;¸A¸tÓDÀbÓIØØð

òð ñ€Cð ˆ!�$‰$ˆxÐ
;˜2˜v wÐ/Ò
;¸Ñ
;€CÜ�A�sœI a¨¨b°"Ó5Ó6€FÜ×%Ñ%×0Ñ0°Ó8€EØ
�$‰$Ø”×8Ñ8¸¸CÓ@ÀuÇÁÓGXð ó €Cô ×9Ñ9Ø	ˆ5�&˜#¨Bô€Fô �!�V‹_€FØ€Mr  z
aten::lerpc                ó   — | j                  d||«      }t        | | j                  d|| j                  dt        j                  d«      ¬«      «      | j                  d|| j                  d||«      «      | j                  d|| j                  d|| j                  d| j                  dt        j                  d«      ¬«      |«      «      «      «      S )	NrN  rê  r]  rB  r^  rB  rE  r¯  )r$  r  r`  rù   )r(  r<  r  r?  Údiffs        r  rt   rt   N  s³   € ð �4‰4��s˜DÓ!€DÜØ	Ø	�‰ˆV�V˜QŸT™T *´e·l±lÀ3Ó6G˜TÓHÓIØ	�‰ˆU�D˜!Ÿ$™$˜u f¨dÓ3Ó4Ø	�‰ØØØ�D‰DØØØ—‘�U˜AŸD™D ´U·\±\À#Ó5F˜DÓGÈÓPóó	
ó	ð r  zaten::broadcast_tensorsc                óÖ   — t        j                  |«      }t        | |d   «      }|D ]  }t        | ||«      }Œ |D �cg c]  }t	        | ||«      ‘Œ }} | j
                  dg|¢­Ž S c c}w )Nr   r9  )r   r�  r  r   rN   r$  )r(  r<  Úall_tensorsÚt_with_final_shaperô   Út_lists         r  r(   r(   c  s�   € ä!×.Ñ.¨tÓ4€KÜ# A {°1¡~Ó6Ðð ò ;ˆÜ  Ð$6¸Ó:Ñð;ð <GÖG°aŒi˜˜1Ð0Õ1ÐG€FÐGØˆ1�4‰4Ð%Ð/¨Ò/Ð/ùò Hs   ½A&zaten::is_pinnedc                 ó   — y r  r   )r(  r<  r‹  s      r  rm   rm   q  s   € ð r  úprim::ConstantSplitc           	     óà   — t        j                  ||«      }|€t        j                  dd|«      S |g||z  z  }||z  }|r|j                  |«       | j	                  d|||t        |«      ¬«      S )Nr¼  rW  rX  rY  )r   rŸ  r\  r  r$  rV  )r(  r<  r_  rB   rå   r`  ra  s          r  r¶   r¶   w  s}   € ä×/Ñ/°°cÓ:€DØ€|Ü×-Ñ-Ø!Ð#;¸Tó
ð 	
ð ˆ\˜T ZÑ/Ñ0€FØ�jÑ €HÙØ�‰�hÔØ�4‰4�˜ v°cÄ3ÀvÃ;ˆ4ÓOÐOr  úprim::ConstantChunkc                ó’   — t        j                  ||«      }|€t        j                  dd|«      S ||z   dz
  |z  }t        | |||«      S )Nr¾  rW  rD  )r   rŸ  r\  r¶   )r(  r<  r]  rB   rƒ  r_  s         r  rµ   rµ   ‰  s\   € ä×3Ñ3°D¸#Ó>€HØÐÜ×-Ñ-Ø!Ð#;¸Tó
ð 	
ð ˜VÑ# aÑ'¨FÑ2€JÜ˜q $¨
°CÓ8Ð8r  zprim::shapec                ó&   — | j                  d|«      S r+  r-  r”  s     r  rÂ   rÂ   ”  s   € à�4‰4�˜ÓÐr  z	prim::maxc                ó6   — t        j                  | d||d¬«      S )NrE  r@  r�  r’  rS  s      r  rÀ   rÀ   ™  s    € ä×7Ñ7Ø	ˆ5�$˜¨Bôð r  z	prim::minc           
     óÆ   — |sSt        j                  |«      r2t        | || j                  dt	        j
                  dg«      ¬«      «      }t        | |«      S t        | ||«      S rš  )r   r-  rð   r$  r`  rù   r”   rS  s      r  rÁ   rÁ      sT   € áÜ×*Ñ*¨4Ô0Ü˜˜D !§$¡$ z¼5¿<¹<ÈÈÓ;L $Ó"MÓNˆDÜ�1�d‹|ÐÜˆq�$˜ÓÐr  z
prim::datac                ó   — |S r  r   r”  s     r  r¸   r¸   ©  r«  r  zprim::layoutc                óN   — | j                  dt        j                  d«      ¬«      S rš  r³  r”  s     r  r¼   r¼   ®  s   € ð �4‰4�
¤E§L¡L°£Oˆ4Ó4Ð4r  r9  c                 ó   — y r  r   ©r(  rb  rÔ  s      r  r½   r½   µ  ó   € àr  zprim::ListUnpackc                ó˜   — t        |«      dk(  r<|d   j                  «       j                  «       dk(  rt        j                  |d   «      S y )NrD  r   r9  )rV  r¡  r¬  r   r�  rÆ  s      r  r¾   r¾   º  sF   € ô ˆ6ƒ{�aÒ˜F 1™IŸN™NÓ,×1Ñ1Ó3Ð7LÒLô ×+Ñ+¨F°1©IÓ6Ð6àr  zprim::TupleConstructc                 ó   — y r  r   rÆ  s      r  rÄ   rÄ   Æ  rÇ  r  zprim::Uninitializedc                 ó   — y r  r   rÆ  s      r  rÇ   rÇ   Ë  rÇ  r  zprim::unchecked_castc                ó   — |S r  r   r”  s     r  rÆ   rÆ   Ô  r«  r  zprim::dtypec                ó°   — t        j                  |«      }|€t        j                  j                  }| j                  dt        j                  |«      ¬«      S r\  )r   r¿  r	   rt  rx  r$  r`  rù   )r(  r<  r{  s      r  rº   rº   Ù  sE   € ä!×6Ñ6°tÓ<€KØÐÜ!×/Ñ/×5Ñ5ˆà�4‰4�
¤E§L¡L°Ó$=ˆ4Ó>Ð>r  úprim::tolistc                ój   — t        j                  |d«      }|dkD  rt        j                  dd|«      S |S )zÂtolist is currently supported only for 1D input tensors.

    dim_val and elem_ty_val represent dimension and type annotations
    that need to match dimension and type of the input tensor.
    r•  rD  rÍ  zdim_val > 1)r   r+  r\  )r(  r/  Údim_valÚelem_ty_valrB   s        r  rÃ   rÃ   â  s7   € ô ×
*Ñ
*¨7°CÓ
8€CØ
ˆQ‚wÜ×-Ñ-¨n¸mÈUÓSÐSØ€Lr  rç  c                ó
  — | j                   j                  «       j                  «       }t        |t        j
                  «      ry t        j                  dd|j                  «       › d�| j                   j                  «       «      S )Nrç  z,output type should be 'DeviceObjType', not 'ú')	Úoriginal_noderð  r  r5  r   rV  r   r\  r¬  )r(  rb  rÔ  Úoutput_types       r  r¹   r¹   ò  sl   € à—/‘/×(Ñ(Ó*×/Ñ/Ó1€KÜ�+œr×/Ñ/Ô0Øä×)Ñ)ØØ
6°{×7GÑ7GÓ7IÐ6JÈ!ÐLØ	�‰×ÑÓ óð r  z
prim::Loopc           	     óâ  — | j                   }| j                  }| j                  }| j                  }t        j
                  }t        j                  }t        |j                  «       «      }	t        j                  | dg|¢­|j                  «       t        |	«      dœŽ\  }
}}t        |	|«      D ]ï  \  }}t        |j                  «       «      D ]   \  }}|dk(  r0|t        |«      k  r"|j!                  ||   j#                  «       «       |dkD  sŒA|dz   t        |«      k  sŒSt%        |j#                  «       t&        j(                  «      rŒ||j!                  ||dz      j#                  «       «       Œ¢ t*        j&                  j-                  ||j.                  |||d«       Œñ t*        j&                  j1                  ||«      }t        j2                  r!t*        j&                  j5                  |||«       |S )NÚLoop©r[  Ún_blocksr   rD  F)rÓ  ÚenvÚvalues_in_envÚparams_dictr   r¼  rÈ  rÑ  Úblocksr   Úadd_op_with_blocksÚoutputsSizerV  rÒ  rö  rb  r%  r  r5  r   r&  r`  Ú_jit_pass_onnx_blockÚblockÚ%_jit_pass_fixup_onnx_controlflow_nodeÚonnx_shape_inferenceÚ(_jit_pass_onnx_node_shape_type_inference)r(  rb  Úattrsr¡  rÙ  rÚ  rÛ  r¼  Úopset_versionÚ
old_blocksÚ_new_op_outputsÚnew_block_contextsÚnew_nodeÚ	old_blockÚnew_block_contextr•  Úb_inÚfixed_outputss                     r  r¿   r¿   ÿ  s°  € à�?‰?€DØ
�%‰%€CØ—O‘O€MØ—-‘-€Kä"×7Ñ7ÐÜ×5Ñ5€Mä�t—{‘{“}Ó%€JÜ4=×4PÑ4PØ	ˆ6ð5Øñ5Ø$(×$4Ñ$4Ó$6ÄÀZÃò5Ñ1€OÐ'¨ô ),¨JÐ8JÓ(Kò 
Ñ$ˆ	Ð$ô ! ×!1Ñ!1Ó!3Ó4ò 	3‰GˆAˆtØ�AŠv˜!œc &›kš/Ø—‘˜V A™YŸ^™^Ó-Ô.ð
 �A“Ø˜‘Uœc &›kÓ)Ü" 4§9¡9£;´·±Õ@à—‘˜V A¨¡E™]×/Ñ/Ó1Õ2ð	3ô 	�‰×%Ñ%ØØ×#Ñ#Ø ØØØõ	
ð'
ô6 —H‘H×BÑBØ�-ó€Mô ×#Ò#Ü�‰×9Ñ9Ø�k =ô	
ð Ðr  zprim::Ifc           	     ó0  — | j                   }| j                  }| j                  }| j                  }| j                  }t
        j                  }t
        j                  }	|d   j                  «       j                  «       dk(  }
|
�r0t        j                  |d   j                  «       d«      j                  «       }t        |t        «      rt        |«      n
t!        |«      }|rdnd}t        |j#                  «       «      |   }t$        j&                  j)                  |||||d«      }t        |j+                  «       «      }t        |j+                  «       «      }g }t-        t/        |«      «      D ]B  }||   |vr t1        j2                  d||   › d�||   «      ‚|||      }|j5                  |«       ŒD |S t7        |j#                  «       «      }t9        j:                  | dg|¢­|j=                  «       t/        |«      d	œŽ\  }}}t?        ||«      D ]3  \  }}t$        j&                  j)                  ||j                  |||d
«       Œ5 t$        j&                  jA                  ||	«      }t
        jB                  r!t$        j&                  jE                  |||	«       |S )Nr   rU  rc  rD  TzThe sub block ATen output z is not in env.ÚIfr×  F)#rÓ  rà  rÙ  rÚ  rÛ  r   r¼  rÈ  r¡  r¬  r   rd  rŒ  r5  r6  r   rW  rÜ  r`  r   rß  r[  r#  rV  r
   rj  r  rÑ  r   rÝ  rÞ  rÒ  rá  râ  rã  )r(  rb  rä  r)  rà  rÙ  rÚ  rÛ  r¼  rå  Ú	static_ifÚ
input_flagr¬  Ú	block_idxÚ	current_bÚif_output_listÚcurrent_b_listÚfinal_b_listr  Úonnx_bræ  rç  rè  ré  rê  rë  rí  s                              r  r»   r»   4  so  € à	�‰€AØ�G‰G€EØ
�%‰%€CØ—O‘O€MØ—-‘-€Kä"×7Ñ7ÐÜ×5Ñ5€Mà�q‘	—‘Ó ×%Ñ%Ó'Ð+;Ñ;€IÚô4 %×.Ñ.¨v°a©y¯~©~Ó/?ÀÓI×PÑPÓRˆ
ä)¨*´dÔ;ŒC�
ŒOÄÀjÓAQð 	ñ %‘A¨!ˆ	Ü˜Ÿ™›Ó$ YÑ/ˆ	Ü�h‰h×+Ñ+ØØØ ØØØó
ˆô ˜aŸi™i›kÓ*ˆÜ˜i×/Ñ/Ó1Ó2ˆàˆÜœ˜^Ó,Ó-ò 	(ˆCØ˜cÑ"¨#Ñ-Ü×/Ñ/Ø0°ÀÑ1DÐ0EÀ_ÐUØ" 3Ñ'óð ð ˜¨Ñ,Ñ-ˆFØ×Ñ Õ'ð	(ð Ðä˜1Ÿ8™8›:Ó&ˆ
Ü8A×8TÑ8TØˆtð9
Øñ9
Ø&'§m¡m£oÄÀJÃò9
Ñ5ˆÐ+¨Xô -0°
Ð<NÓ,Oò 	Ñ(ˆIÐ(Ü�H‰H×)Ñ)ØØ!×'Ñ'Ø$ØØØõð	ô Ÿ™×FÑFØ�mó
ˆô ×'Ò'Ü�H‰H×=Ñ=Ø˜+ }ôð Ðr  r#  c           	     óè  — | j                   }|j                  «       ry t        |j                  «       j	                  «       t
        j                  «      ry |j                  d«      dk(  r'| j                  dt        j                  |d«      ¬«      S |j                  d«      dk(  r'| j                  dt        j                  |d«      ¬«      S |j                  «       j	                  «       j                  t
        j                  j                  «       «      sI|j                  «       j	                  «       j                  t
        j                  j                  «       «      r:| j                  dt        j                   t        j                  |d«      «      ¬«      S |j                  «       j	                  «       j                  t
        j                  j#                  «       «      rGt        j                  |d«      D �cg c]  }| j                  d|¬«      ‘Œ }} | j                  dg|¢­Ž S t%        j&                  d|j                  d«      › d	t(        j*                  › d
�|j                  «       «      ‚c c}w )Nrc  rô   r]  r^  re  ©Úvalue_sr9  z"Unsupported prim::Constant kind: 'z'. Please send a bug report at ú.)rÓ  rM  r5  rð  r  r   rV  rX  r$  r   rd  ré  rê  rë  ÚofFloatsr`  rù   Ú	ofStringsr
   rj  r   ÚPYTORCH_GITHUB_ISSUES_URL)r(  rb  rä  r¡  re  Ústr_constantss         r  r·   r·   �  sð  € à�?‰?€Dà‡�ÔØô �$—+‘+“-×$Ñ$Ó&¬×(8Ñ(8Ô9ØØ‡{�{�7Ó˜sÒ"Ø�t‰t�J¬×(AÑ(AÀ$ÈÓ(PˆtÓQÐQØ‡{�{�7Ó˜sÒ"Ø�t‰t�J¬×(AÑ(AÀ$ÈÓ(PˆtÓQÐQØ‡{�{ƒ}×ÑÓ×'Ñ'Ü
�‰×ÑÓôà	�‰‹×	Ñ	Ó	×	)Ñ	)¬"¯+©+×*>Ñ*>Ó*@Ô	AØ�t‰tØ¤§¡¬_×-FÑ-FÀtÈWÓ-UÓ Vð ó 
ð 	
ð ‡{�{ƒ}×ÑÓ×'Ñ'¬¯©×(=Ñ(=Ó(?Ô@ô %×.Ñ.¨t°WÓ=ö
àð �D‰D� QˆDÕ'ð
ˆð 
ð ˆq�t‰tÐ)Ð:¨MÒ:Ð:ä
×
#Ñ
#Ø
,¨T¯[©[¸Ó-AÐ,Bð C'Ü'1×'KÑ'KÐ&LÈAð	Oà�‰‹óð ùò
s   Ç8I/ú
prim::typec                ó  — |j                  «       j                  «       dk(  rOt        j                  |j                  «       j	                  «       «      }|�| j                  dt        |«      ¬«      S t        j                  dd|«      S )Nrç  r]  rù  r   z,Device type cannot be statically determined.)	r¡  r¬  r   Úget_device_from_valuer/  r$  r�  r   r\  )r(  Údevice_valuerX  rÔ  r‹  s        r  rÅ   rÅ   ²  sw   € à×ÑÓ×ÑÓ! ^Ò3Ü×0Ñ0°×1BÑ1BÓ1D×1JÑ1JÓ1LÓMˆØÐØ—4‘4˜
¬C°«K�4Ó8Ð8ä×)Ñ)ØØ6Øóð r  zonnx::Placeholderc                ó¦   — | j                   }| j                  }| j                  }| j                  }t        j
                  j                  ||||«      S r  )rÓ  rà  rÙ  rÚ  r`  r   Ú'_jit_onnx_convert_pattern_from_subblock)r(  rb  rä  r¡  rà  rÙ  rÚ  s          r  r­   r­   À  sF   € à�?‰?€DØ�G‰G€EØ
�%‰%€CØ—O‘O€Mä�8‰8×;Ñ;Øˆt�S˜-óð r  zaten::resolve_conjzaten::resolve_negc                ó   — |S r  r   r.  s     r  r  r  Ì  s	   € ð €Lr  zaten::_conjzaten::conj_physicalc                óp   — t        j                  |«      rt        j                  d|«      S t        | |«      S )Nz aten::_conj, aten::conj_physical)r   Úis_complex_valuer  r  r.  s     r  r  r  ×  s:   € ô ×'Ñ'¨Ô.ä×0Ñ0Ø.Øó
ð 	
ô " ! UÓ+Ð+r  zaten::logitc                ó.  — | j                  dt        j                  d«      ¬«      }t        j                  |«      s¡| j                  d|t
        j                  j                  |«      j                  «       ¬«      }| j                  d||«      }| j                  d||«      }| j                  d|||«      }| j                  d	||«      }| j                  d|||«      }n|}| j                  d||«      }	| j                  d
||	«      }
| j                  d|
«      S )Nr]  r¯  r^  rn  ro  rN  rè  ré  rê  rm  r6  )	r$  r`  rù   r   rE  r	   rt  ru  ry  )r(  r<  rÐ  rˆ  Úone_sub_epsÚself_less_equal_one_sub_epsÚtemporary_selfÚtemporary_self_less_epsÚzró   rC   s              r  r†   r†   ê  sý   € à
�$‰$ˆz¤5§<¡<°Ó#4ˆ$Ó
5€Cä×#Ñ# CÔ(Ø�d‰dØ�Cœk×7Ñ7×BÑBÀ4ÓH×RÑRÓTð ó 
ˆð —d‘d˜5 # sÓ+ˆØ&'§d¡d¨9°kÀ4Ó&HÐ#ØŸ™˜gÐ'BÀDÈ+ÓVˆà"#§$¡$ v¨~¸sÓ"CÐØ�D‰D�Ð1°3¸ÓG‰àˆà
�$‰$ˆu�c˜1Ó
€CØ
�$‰$ˆu�a˜Ó
€CØ�4‰4��sÓÐr  )r  r�  )r(  újit_utils.GraphContextr  )r¯  )T)r  r�  r  r�  r	  rW  r˜  )F)r(  r  r/  rñ  r¡  rŽ  r¢  rW  )rB   r¹  )r(  r  r/  rñ  r®   rñ  )
r(  r  r/  rñ  r®   rñ  rH  rñ  rc  rñ  )r  r�  rB   r¹  r7  r�  )r  r   Úreturnr   )NNN)r(  r  r/  rñ  rÛ  rò  r?  rñ  r�  rñ  rÐ  rŽ  r  z#tuple[_C.Value, _C.Value, _C.Value])r(  r  r/  rñ  rÛ  rò  r?  rñ  r�  rñ  rÐ  rŽ  rç  rW  r  rñ  )
r(  r  rí  rW  rÏ  r   rÐ  r   r£  rW  )FF)NN)FN)NNNFN)NNF)r(  r  r<  rñ  rÇ  rŽ  rÈ  rŽ  )r¬  r�  )NNFN)r(  r  r/  útorch._C.ValuerB   r  r2  rW  )r(  r  r<  r  r  r  rB   úSequence[int] | Noner2  rW  r  r  )r(  r  r<  r  r  rŽ  rB   r  r2  rW  r  r  )r(  r  r<  r  r  r  rB   z	list[int]r2  rW  r  r  )r(  )NF)r(  r  r:  z
str | None)r  )r(  r  r<  r  rC  r�  )TNNNNF)r(  r  r  z
int | None)r×  Ú#use_mm_for_euclid_dist_if_necessary)r(  r  r  zlist[_C.Value] | None)r(  r  r  ÚNone)r(  r  r  zlist[_C.Value])r(  r  r  rñ  )r(  r  r/  rñ  )r(  r  r<  r  rÐ  r  (o  Ú__doc__Ú
__future__r   r  rL  rë  r“  r=  Útypingr   r   Útyping_extensionsr   r`  Útorch._C._onnxr   Ú_onnxrq  Útorch.nn.modules.utilsÚ
torch.onnxr   r	   r
   r   Útorch.onnx._globalsr   Útorch.onnx._internalr   r   Úcollections.abcr   Útorch.typesr   r  ÚpartialÚonnx_symbolicÚ_onnx_symbolicr!  r  r0  r8  rÜ  r×   rÖ   r   ró   rÛ   rš   rC   rÝ  r   rW  ri  rh  rS   rU   rþ   rÎ   r+   rð   rª  r—   r'   r�   r   r    rí   rÚ   r÷   rä   r=   rö   r   r   r    r!   rá   râ   r  Ú_apply_paramsr  r@   r  r  rô   r©   rO   r)   rN   rH   rG   rå   rý   r°   r  r  r  rì   r  rë   r  r   rß   rî   rï   r´   rã   r–   rÐ   rÑ   r-   rT   rœ  rú   rs   r]   rç   rè   r\   ÚnnÚmodulesÚutilsÚ_singleÚ_pairÚ_triplerÞ  rŽ   r�   r�   ró  r  r
  r  r2   r  rÏ   rÕ   r®   r8  r>  r%   r&   r  r  rS  rK   rŸ   r_   r^  rŠ   rf  rZ   rr   rl  ro  rq  r‚   r„   r…   rƒ   r�  r…  r  r}   r‘  r§  r¯  r<   r8   r9   r:   r5   r6   r7   r#   rž   rq   rk   r  rF   rà   ri   rh   rg   rf   r*   rÿ   r>   r¯   r1   r   r~   r€   r   r³   r0   r/   r.   r‘   r’   r”   r•   r   r   r   rM   rE   rd  r§   r4   rl  rp  ru  rx  r{  r}  r  r‚  r„  r†  rˆ  rJ   rI   r¡   rÜ   rù   r   r  r  r¤   r  r¬   r«   r£   rX   rW   r¢   rP   ræ   rd   rc   rb   rø   ra   ré   r   r  rê   r¨   rü   r;   rû   rÔ   rÓ   r±   r²   rg  rm  rp  r‰   rˆ   r„  r‰  rA   r3   r‘  r•  rË   rÊ   rÍ   rÉ   rÌ   rÈ   rÙ   r$   r|   rL   rR   r¦   r¥   rn   rÆ  rÈ  r�   r   r   rÞ   rÝ   r�   rl   rá  rã  rª   rY   rí  rò   r
  r	  rñ   r‡   r   r{   ru   r‹   rŒ   rj   rx   ry   rw   rv   rV   r›   r"   r“   rÒ   r[   r^   rU  rB   r^  r`  ro   rõ   rh  rn  rp   r™   r   r|  r  rz   r`   rœ   rD   r˜   rQ   re   rØ   r?   r,   r§  rt   r(   rm   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>r+     s¤:  ðñõ #ã Û Û Û 
Û ß *Ý (ã ß  Ð  Û Û Ý ÷ HÓ GÝ 'ß 8ñ Ý(å"ò
C€ðL #�×"Ñ" <×#=Ñ#=ÀQÔG€ôòñ Ð(Ó)ó ó *ð ñ Ð,Ó-ó$ó .ð$ñ �Ó Ø€×Ñ Ó%ó;ó &ó !ð;ñ Ð"Ó#Ø€×Ñ Ó%ó#ó &ó $ð#ñ
 �Óõ$ó ð$ñ0 �Óõ$ó ð$ñ* �Óõ,ó ð,ñ �Óó(ó ð(ñ �Óó9ó ð9ñ �Ó Ø€×Ñ˜C  c¨3Ó/õFó 0ó !ðFð
 €×Ñ˜C  cÓ*ó
ó +ð
ôô>'ñ0 Ð$Ó%ó)ó &ð)ñ
 Ð Ó!ó(ó "ð(ñ Ð#Ó$ó$ó %ð$ñ6 Ð"Ó#ó$ó $ð$ñ �ÓØ€×Ñ˜C Ó%ó#0ó &ó ð#0ñL �ÓØ€×Ñ˜C Ó%ó3ó &ó ð3ñ �Óóó ðñ �
ÓóAó ðAñ �Óó'ó ð'ñ �Óó'ó  ð'ñ �ÓØ€×Ñ˜C  c¨3°Ó4ó2ó 5ó ð2ñj �Óóó ðñ �Óóó ðñ  �Óóó ðñ �Óà€×Ñ ¨KÀCÔHóó Ió ðñ �Óóó ðñ �Óóó ðñ �Óóó ðñ �Óóó ðñ �Óóó ðñ �Óóó ðñ �Óóó ðñ* �Ó à€×Ñ ¨KÀAÔFó!ó Gó !ð!ñ �Óóó ðð  €×Ñ Ó%óKó &ðKñ ØÐ8˜?×8Ñ8¸ÀeÓLÐMôñ ØÐ9˜O×9Ñ9¸,ÈÓOÐPôñ Øà%ˆ×%Ñ%Ø˜&¸%ô	
ðôõóó	óðñ �ÓØ€×Ñ˜C  fÓ-óDó .ó  ðDñ Ð)Ó*óHó +ðHñ Ð'Ó(óFó )ðFñ �	Óó2ó ð2ñ �Ó Ø€×Ñ Ó%ó1ó &ó !ð1ñ �ÓØ€×Ñ Ó%ó&ó &ó  ð&ñ& Ð$Ó%Ø€×Ñ Ó%ó&ó &ó &ð&ñ$ Ð!Ó"Ø€×Ñ  dÓ+ó'ó ,ó #ð'ñ" Ð!Ó"Ø€×Ñ Ó%Ø€×Ñ˜C  c¨3°Ó4ð+Øó+ó 5ó &ó #ð+ñ0 Ð%Ó&Ø€×Ñ Ó%Ø€×Ñ˜C  c¨3°°S¸#¸sÀCÓHðPØóPó Ió &ó 'ðPñ( �ÓØ€×Ñ °eÔ<õ6ó =ó ð6ñ Ð!Ó"Ø€×Ñ Ó%Ø€×Ñ˜C  cÓ*ó
ó +ó &ó #ð
ñ" �Ó Ø€×Ñ˜C Ó&ó0ó 'ó !ð0ñ �ÓØ€×Ñ Ó%ó"ó &ó ð"ñ �Ó ó#ó !ð#ñ
 Ð$Ó%Ø€×Ñ˜C  c¨3Ó/õMó 0ó &ðMñ$ �ÓØ€×Ñ˜C  c¨3Ó/õMó 0ó ðMñ2 Ð$Ó%àHLñ>Øó>ó &ð>ñ Ð(Ó)Ø€×Ñ˜C  s¨CÓ0õRó 1ó *ðRñ Ð/Ó0à@DñAØóAó 1ðAñ �ÓØ€×Ñ˜C  cÓ*õó +ó  ðñ �ÓØ€×Ñ Ó%Ø€×Ñ˜C  cÓ*ó7ó +ó &ó  ð7ñ( �Óó#ó  ð#ñ �Ó õ;Jó !ð;Jñ| �Óó'ó ð'ñ, �Óó6ó ð6ñ �ÓóEó ðEñ �ÓØ€×Ñ Ó%óó &ó ðñ �ÓØ€×Ñ Ó%ó!ó &ó ð!ñ �Óóó ðñ �Óó ó ð ñ �Óó9ó ð9ñ
 Ð!Ó"Ø€×Ñ˜C  cÓ*óó +ó #ðñ Ð"Ó#Ø€×Ñ Ó%Ø€×Ñ˜C  cÓ*ð
 ñ	<Øð<àð<ð ð<ð ó	<ó +ó &ó $ð<ñ �ÓØ€×Ñ˜C Ó%ó7ó &ó ð7ñ �Ó Ø€×Ñ˜C  fÓ-õ;ó .ó !ð;ñ| Ð Ó!ó"ó "ð"ñ Ð-Ó.ñ2ó /ð2ñj Øà%ˆ×%Ñ%Ø˜%Ÿ(™(×*Ñ*×0Ñ0×8Ñ8¸!ÈEô	
ñ 	�Óð	ôñ Øà%ˆ×%Ñ%Ø˜%Ÿ(™(×*Ñ*×0Ñ0×6Ñ6¸È%ô	
ñ 	�Óð	ôñ Øà%ˆ×%Ñ%Ø˜%Ÿ(™(×*Ñ*×0Ñ0×8Ñ8¸!ÈEô	
ñ 	�Óð	ôñ7óóóð67ðt J™.Ð)HÓIÙØ!Ø�‰×Ñ×Ñ×&Ñ&Ø	Øô	óÐ ð J™.Ð)HÓIÙØ!Ø�‰×Ñ×Ñ×$Ñ$Ø	Øô	óÐ ð J™.Ð)HÓIÙØ!Ø�‰×Ñ×Ñ×&Ñ&Ø	Øô	óÐ ñ Øà%ˆ×%Ñ% l°E·H±H×4DÑ4D×4JÑ4J×4RÑ4RÓSÙ�Óðôñ Øà%ˆ×%Ñ% l°E·H±H×4DÑ4D×4JÑ4J×4PÑ4PÓQÙ�Óðôñ Øà%ˆ×%Ñ% l°E·H±H×4DÑ4D×4JÑ4J×4RÑ4RÓSÙ�Óðôñ4óóóð*4ñn Øà%ˆ×%Ñ%Ø! =°%·(±(×2BÑ2B×2HÑ2H×2PÑ2Pó	
ñ 	Ð%Ó&ð	ôñ Øà%ˆ×%Ñ%Ø! =°%·(±(×2BÑ2B×2HÑ2H×2NÑ2Nó	
ñ 	Ð%Ó&ð	ôñ Øà%ˆ×%Ñ%Ø! =°%·(±(×2BÑ2B×2HÑ2H×2PÑ2Pó	
ñ 	Ð%Ó&ð	ôñ Øà%ˆ×%Ñ%Ø!ØØ�H‰H×Ñ×"Ñ"×*Ñ*Ø#ó		
ñ 	Ð%Ó&ðôñ Øà%ˆ×%Ñ%Ø!ØØ�H‰H×Ñ×"Ñ"×(Ñ(Ø#ó		
ñ 	Ð%Ó&ðôñ Øà%ˆ×%Ñ%Ø!ØØ�H‰H×Ñ×"Ñ"×*Ñ*Ø#ó		
ñ 	Ð%Ó&ðôó3óóóóóóð~3ôlò"ñ" Ð'Ó(óó )ðô$&ñR Ð(Ó)ÙÐ(Ó)ÙÐ(Ó)óó *ó *ó *ðñ Ð)Ó*ÙÐ)Ó*ÙÐ)Ó*óó +ó +ó +ðñ �ÓðTØðTàðTð 
ðTð ð	Tð
 óTó ðTñ( Øà%ˆ×%Ñ%Ð&:¸A¸yÓIÙÐ$Ó%ðôñ Øà%ˆ×%Ñ%Ð&:¸A¸yÓIÙÐ$Ó%ðôñ Øà%ˆ×%Ñ%Ð&:¸A¸yÓIÙÐ$Ó%ðôñ Øà%ˆ×%Ñ%Ñ&9¸1¹hÓGÙÑ#Ó$ðôñ Ùà%ˆ×%Ñ%Ñ&;¸QÁÓIÙÑ%Ó&ðôñ Ù à%ˆ×%Ñ%Ñ&<¸aÁÓJÙÑ&Ó'ðôôóóóóóóðTñ$ Ñ%Ó&ð8Øô8ó 'ð8ñ  Ñ#Ó$ôó %ðñ Ñ"Ó#ò#ó $ð#ó 	õñ ‘Óôó  ðñ ‘
ÓØ€×Ñ  dÓ+ô&ó ,ó ð&ñ2 ‘
ÓØ€×Ñ  dÓ+Øôó ó ,ó ðñ ‘
ÓØ€×Ñ  dÓ+ô%ó ,ó ð%õ)ñ ‘
ÓØ€×Ñ  dÓ+ô%ó ,ó ð%õ&ñ ‘
ÓØ€×Ñ  dÓ+Øô%ó ó ,ó ð%ñ ‘
ÓØ€×Ñ  dÓ+Øô%ó ó ,ó ð%ñ ‘Óô%ó  ð%ñ  ‘Óô$ó ð$ñ  ‘Óô%ó  ð%ñ  Ñ#Ó$Ù™fÓ%ô%ó &ó %ð%ñ Ñ"Ó#Ù™fÓ%ô$ó &ó $ð$ñ Ñ#Ó$Ù™fÓ%ô%ó &ó %ð%ñ Ñ#Ó$ôSó %ðSñ Ñ!Ó"ôó #ðñ8 Ñ!Ó"ôó #ðñ8 ‘ÓØ€×Ñ˜C  c¨3Ó/ö	1ó 0ó ð	1ñ Ñ#Ó$Ø€×Ñ˜C  fÓ-öó .ó %ðñ> Ñ$Ó%Ø€×Ñ˜C  cÓ*ô	&ó +ó &ð	&ñ Ñ$Ó%Ø€×ÑØˆˆc�4˜˜t S¨$°°S¸#¸sÀCóð" ñ@Øô@óó &ð@ñF Ñ)Ó*Ø€×ÑØØØØØØØóð4Øô4óó +ð4ñn Ñ#Ó$Ø€×Ñ˜C  c¨4°°t¸SÀ$ÈÓLðØôó Mó %ðñ< ‘ÓØ€×Ñ˜C  c¨4°°d¸CÓ@ð 
Øô 
ó Aó  ð 
ñF ‘ÓØ€×Ñ˜C  c¨4°°d¸CÓ@ð 
Øô 
ó Aó  ð 
ñF ‘ÓØ€×Ñ˜C  c¨4°°d¸CÓ@ð 
Øô 
ó Aó  ð 
ñF Ñ(Ó)Ø€×Ñ˜C  c¨4°°t¸SÀ$ÓGðØôó Hó *ðñ: Ñ(Ó)Ø€×Ñ˜C  c¨4°°t¸SÀ$ÓGðØôó Hó *ðñ: Ñ(Ó)Ø€×Ñ˜C  c¨4°°t¸SÀ$ÓGðØôó Hó *ðñ: Ñ"Ó#Ø€×Ñ˜C  c¨3°°S¸#¸sÀCÓHð4Øô4ó Ió $ð4ñn Ñ)Ó*Ø€×Ñ  e¨U°EÓ:Ø€×Ñ˜C  s¨C°Ó5ðI*ØðI*àðI*ð $ðI*ð ð	I*ð
 ðI*ð 
ðI*ð )ôI*ó 6ó ;ó +ðI*ñX Ñ"Ó#Ø€×Ñ  e¨U°EÓ:Ø€×Ñ˜C  s¨C°°cÓ:ð
Øð
àð
ð $ð
ð ð	
ð
 ð
ð 
ð
ð ð
ð ô
ó ;ó ;ó $ð
ñ Ñ%Ó&Ø€×Ñ˜C  c¨3°°S¸#¸sÀCÓHð\PØð\Pð ð\Pð ð\Pð 
ð\Pð ô\Pó Ió 'ð\Pñ~ ‘ÓØ€×Ñ˜C  c¨3Ó/ô
ó 0ó  ð
ñD ‘ÓØ€×Ñ Ó%Ø€×Ñ˜C  c¨3Ó/ô
Fó 0ó &ó ð
Fñ ‘ÓØ€×Ñ Ó%ôó &ó ðñ Ñ$Ó%Ø€×Ñ˜C  cÓ*ô?ó +ó &ð?ñ Ñ!Ó"ôFó #ðFñ Ñ"Ó#ôAó $ðAñ Ñ"Ó#ô9ó $ð9ñ Ñ!Ó"Ø€×Ñ˜C  c¨3Ó/àHMñ TØô Tó 0ó #ð TñF ‘Ó ôó !ðñ( Ñ)Ó*Ø€×Ñ˜C  c¨3Ó/ô#ó 0ó +ð#ñ  Ñ)Ó*ô$ó +ð$ñ" ‘Óôó ðñ ‘Óôó ðñ ‘Óôó ðñ ‘ÓôYó ðYñ ‘ÓôVó ðVñ
 ‘Óôó ðñ ‘Óô>ó ð>ñ* Ñ!Ó"Ø€×Ñ˜C Ó%ô

ó &ó #ð

ñ Ñ!Ó"Ø€×Ñ˜C Ó%ô

ó &ó #ð

ñ ‘ÓöCó	 ðCñ ‘Ó Ø€×Ñ  dÓ+ô)ó ,ó !ð)ñ ‘ÓöCó ðCñ ‘Ó Ø€×Ñ  dÓ+ô)ó ,ó !ð)ñ ‘ÓØ€×Ñ Ó%Ø€×Ñ˜C  sÓ+ôCó ,ó &ó ðCñ ‘ÓØ€×Ñ Ó%Ø€×Ñ˜C  sÓ+ôCó ,ó &ó ðCñ ‘Ó Ø€×Ñ Ó%Ø€×Ñ˜C  cÓ*ôó +ó &ó !ðñ ‘Óôó ðñ Ñ Ó!Ù‘Ó Ø€×Ñ˜C  cÓ*ôó +ó !ó "ðñ ÙØ+ˆo×+Ñ+Ñ,BÓCÐDôñ Ù"Ø+ˆo×+Ñ+Ñ,JÓKÐLôñ ÙØ+ˆo×+Ñ+Ñ,DÓEÐFôñ Ù!Ø+ˆo×+Ñ+Ñ,IÓJÐKôñ ÙØ+ˆo×+Ñ+Ñ,AÓBÐCôñ ÙØ+ˆo×+Ñ+Ñ,CÓDÐEôôó	ó	ó	ó	ó	ó	ð0ñ ‘ÓØ€×Ñ˜C  d¨C°Ó5öó 6ó ðñ  Ñ Ó!Ø€×Ñ˜C  c¨3Ó/ô	5ó 0ó "ð	5ñ ‘Ó Ø€×Ñ˜C  cÓ*ô?ó +ó !ð?ñ Ñ Ó!Ø€×Ñ˜C  c¨3Ó/ôFó 0ó "ðFñ Ñ"Ó#ÙÑFÓGôGó Hó $ðGñ Ñ"Ó#ÙÑFÓGôFó Hó $ðFñ Ñ#Ó$ÙÑFÓGôGó Hó %ðGñ Ñ!Ó"ÙÑFÓGôGó Hó #ðGñ Ñ"Ó#ÙÑFÓGôGó Hó $ðGñ Ñ"Ó#ÙÑFÓGôIó Hó $ðIñ Ñ#Ó$ÙÑFÓGôGó Hó %ðGñ Ñ$Ó%ÙÑFÓGôHó Hó &ðHñ Ñ"Ó#ÙÑFÓGôFó Hó $ðFñ ‘ÓØ€×Ñ˜C  c¨3°°SÓ9ð Øñ	>Øô	>ó :ó ð	>ñ Ñ"Ó#Ø€×Ñ˜C  c¨3°°SÓ9ð ØØØØñ	CØô	Có :ó $ð	Cñ Ñ!Ó"àNSñ>Øô>ó #ð>ñ Ñ%Ó&ôó 'ðñ ‘ÓàLQñQØôQó  ðQñ6 Ñ!Ó"ö*ó #ð*ñ ‘ÓØ€×Ñ˜C  c¨3°Ó4öó 5ó ðñ  Ñ"Ó#Ø€×Ñ˜C  c¨3°°SÓ9ð ØØØØñØôó :ó $ðñ. Ñ!Ó"àNSñ>Øô>ó #ð>ñ ‘Óô+ó ð+ñ
 ‘ÓØ€×Ñ˜C  c¨3°Ó4öó 5ó ðñ Ñ!Ó"Ø€×Ñ˜C  c¨3°°SÓ9ð ØØØØñØôó :ó #ðñ. Ñ Ó!àNSñ=Øô=ó "ð=ñ ‘ÓàOTñ
Øô
ó ð
ñ0 Ñ!Ó"ð
 ØØØØñ
Øô
ó #ð
ñ> Ñ Ó!ð ñHØôHó "ðHñ  ‘ÓôVó ðVñ. ‘ÓôEXó ðEXñP Ñ Ó!Ø€×Ñ Ó%Ø€×Ñ˜C  cÓ*ôó +ó &ó "ðñ Ñ!Ó"Ø€×Ñ Ó%Ø€×Ñ˜CÓ ô!ó !ó &ó #ð!ñ
 Ñ#Ó$à€×Ñ ¨KÀAÔFØ€×Ñ˜CÓ ô4ó !ó Gó %ð4ñ Ñ"Ó#Ø€×Ñ˜CÓ ô,ó !ó $ð,ñ Ñ"Ó#Ø€×Ñ˜C Ó%ôó &ó $ðñ( Ñ"Ó#Ø€×Ñ˜C Ó%ô"ó &ó $ð"ñ> ‘Óôó ðñ Ñ!Ó"Ø€×Ñ˜C Ó%ôDó &ó #ðDñ2 ‘Óà€×Ñ˜C  c¨6Ó2öCó 3ó ðCñ& ‘Óô2ó ð2ñ ‘Óà€×Ñ˜C  c¨3°°VÓ<ö<ó =ó ð<ñ Ñ,Ó-ôQó .ðQñ
 ‘
ÓôGQó ðGQñT ‘Óô'ó  ð'ñ Ñ)Ó*àDHñd5Øôd5ó +ðd5ñN Ñ%Ó&Ø€×Ñ˜C Ó%ôC
ó &ó 'ðC
ñL Ñ'Ó(Ø€×Ñ˜C Ó%ô@
ó &ó )ð@
ð\ Øñ_+Øö_+ðD €×Ñ˜C  c¨3°°S¸#¸sÀCÓHðØôó Iñð> €×Ñ˜C  c¨3°°S¸#¸sÀCÓHðØôó Iññ> ‘Óô$ó ñ$ñ Ñ!Ó"ô7ó #ñ7ñ4 ÙÐ8˜?×8Ñ8¹Ó?ÁÉÃÐPôñ ÙØ+ˆo×+Ñ+©JÓ7¹ÁÓ9LÐMôñ ÙØ+ˆo×+Ñ+©JÓ7¹ÁÓ9LÐMôô?ó	ó	óñ?ñD Ñ#Ó$Ø€×Ñ˜C Ó%ô0ó &ó %ñ0ñ ‘Óôó  ññ
 Ñ"Ó#Ø€×Ñ˜C Ó%ôó &ó $ññ Ñ-Ó.Ø€×Ñ˜C  cÓ*ô?ó +ó /ñ?ñ. Ñ,Ó-Ø€×Ñ˜C  c¨3°Ó4ðØôó 5ó .ññ" ‘Ó ô'ó !ñ'ñT Ñ$Ó%ôó &ññ8 ‘Óôó ññ2 ‘Óôó ññ2 Ñ"Ó#ð
 ØØØñKØôKó $ñKñ& Ñ!Ó"ð
 ØØØñØôó #ññ& ‘ÓØ€×Ñ˜C  c¨3°Ó7ô#ó 8ó ñ#ñ Ñ!Ó"ö8ó #ñ8ñ< Ñ#Ó$Ø€×Ñ˜CÓ ôó !ó %ññ
 ‘ÓØ€×Ñ˜CÓ ôó !ó ññ ‘Ó Ø€×Ñ  e¨UÓ3Ø€×Ñ˜C  cÓ*ôNó +ó 4ó !ñNñ4 ‘Ó Ø€×Ñ˜CÓ ô(ó !ó !ñ(ñ
 Ñ%Ó&ö>ó 'ñ>ñ ‘ÓØ€×Ñ˜CÓ ôó !ó ññ
 ‘ÓôYó ñYñ& ‘Óô=ó ñ=ñ ‘ÓØ€×Ñ˜C  c¨3Ó/ôó 0ó  ññ ‘ÓØ€×Ñ˜C  cÓ*ðSØðSàðSð 
ðSð ô	Só +ó  ñSñ ‘ÓØ€×Ñ˜C  cÓ*ðSØðSàðSð 
ðSð ô	Só +ó  ñSñ ‘Ó Ø€×Ñ˜C  c¨3Ó/ôRó 0ó !ñRñ  Ñ#Ó$Ø€×Ñ˜C  c¨3Ó/ô ó 0ó %ñ ñ ‘ÓôSó ñSñ
 Ñ)Ó*ô;ó +ñ;ñ ‘Óôó ññ Ñ Ó!Øô!ó ó "ñ!ñ ‘Ó ô@ó !ñ@ñ ‘ÓØ€×Ñ˜C  c¨3Ó/öQó 0ó  ñQð" €×Ñ˜C  s¨CÓ0ôPó 1ñPñ ‘Óôó ññ
 ‘Óôó ññ
 Ñ Ó!ô*ó "ñ*ñ Ñ Ó!ô#ó "ñ#ñ
 Ñ!Ó"Ø€×Ñ˜C  sÓ+ôJó ,ó #ñJñ ‘ÓôIYó  ñIYñX Ñ Ó!ð	5Øô	5ó "ñ	5ñ ‘Óôó ññ
 Ñ#Ó$ôVó %ñVñ Ñ$Ó%ô-ó &ñ-ñ ‘Óô`Ió ñ`IñF Ñ#Ó$Ø€×Ñ˜C  d¨C°Ó5ðAØðAà
ðAð 
ðAð 
ð	Að
 ðAð ôAó 6ó %ñAñB Ñ*Ó+Ø€×Ñ˜C  d¨C°Ó5ðYØðYà
ðYð 
ðYð 
ð	Yð
 ðYð ôYó 6ó ,ñYñ Ñ*Ó+Ø€×Ñ˜C  d¨C°Ó5ð8Øð8à
ð8ð 
ð8ð 
ð	8ð
 ð8ð ô8ó 6ó ,ñ8ñv Ñ$Ó%Ø€×Ñ˜C  cÓ*ö'ó +ó &ñ'ñ Ñ&Ó'Ø€×Ñ˜C  sÓ+ö ó ,ó (ñ ñ Ñ#Ó$Ø€×Ñ˜C  c¨3Ó/àPTñØôó 0ó %ññ. ‘Ó ô ó !ñ ñ  Ñ Ó!Ø€×Ñ˜C Ó%ö-ó &ó "ñ-ñ> Ñ!Ó"ô#ó #ñ#ñ ‘ÓØ€×Ñ˜C Ó%ö
ó &ó ñ
ñ4 Ñ"Ó#Ø€×Ñ  e¨U°EÓ:Ø€×Ñ˜C  c¨3°°SÓ9ð7Øô7ó :ó ;ó $ñ7ñt Ñ$Ó%Ø€×Ñ˜C  cÓ*ôó +ó &ññ. ‘Óôó ññ Ñ#Ó$ôó %ññ& Ñ"Ó#ôKó $ñKñ ‘Óôó ññ ‘Óôó ñööñ ‘ÓØ€×Ñ˜C  c¨3Ó/ô
ó 0ó  ñ
ñ$ Ñ Ó!Ø€×Ñ˜C  cÓ*ô
ó +ó "ñ
ñ Ñ"Ó#Ø€×Ñ Ó%Ø€×Ñ˜C  d¨CÓ0ö),ó 1ó &ó $ñ),ñX Ñ&Ó'ô8ó (ñ8ñ Ñ&Ó'ôEó (ñEñ ‘Óôó  ññ Ñ#Ó$Ø€×Ñ˜C  c¨3°°S¸#Ó>ð ØØØØØñ#Øð#ð ô	#ó ?ó %ñ#ñL ‘
Óô ó ñ ñ ‘Óô"ó ñ"ñ ‘Ó Ø€×Ñ˜C  cÓ*ô0ó +ó !ñ0ñ@ ‘ÓØ€×Ñ˜C Ó%ô2ó &ó ñ2ñ Ñ!Ó"öBHó #ñBHñJ ‘ÓØ€×Ñ˜C  tÓ,ôó -ó ññ& ‘ÓØ€×Ñ˜C  cÓ*öJó +ó ñJñ" ‘Óð
 
Ø6ñØôó ñö>'ñT ‘Óôó ññ( Ñ)Ó*ô
0ó +ñ
0ñ Ñ!Ó"öó #ññ
 Ñ%Ó&ô
Pó 'ñ
Pñ" Ñ%Ó&ô9ó 'ñ9ñ ‘Óôó ññ ‘Óôó ññ ‘Óöó ññ ‘Óôó ññ ‘Óô5ó  ñ5ñ Ñ%Ó&ôó 'ññ Ñ"Ó#ðØðàôó $ññ Ñ&Ó'ôó (ññ Ñ%Ó&ôó 'ññ Ñ&Ó'ôó (ññ ‘Óô?ó ñ?ñ ‘Óô	ó  ñ	ñ ‘Óô	ó  ñ	ñ ‘Óô1ó ñ1ñh ‘
ÓôWó ñWñt Ñ Ó!ôó "ññD ‘Óô
ó ñ
ñ Ñ#Ó$ôó %ññ Ñ$Ó%ÙÑ#Ó$ôó %ó &ññ ‘ÓÙÑ%Ó&ô,ó 'ó ñ,ñ" ‘Óôó òr  