Ë
    f^(hÕ°  ã                   ó  — U d dl Z d dlmZmZmZmZmZmZmZ ee	e
f   Zd dlZdee	   dee	   fd„Zdee	   dee	   dee	   fd„Zdee	   dedee	   fd„Zd	ee	   d
ee	   fd„Zd	ee	   fd„Zd	ee	   fd„Zdee	   dee	   fd„Zd	ee	   dee	   fd„Zd	ee	   dee	   defd„Zdee	   de	dee	   fd„Zdee	   fd„Zd	ee	   dee	   fd„Zddœd	ee	   dee	   defd„Zd	ee	   deee	      dedefd „Zd	ee	   d!e	defd"„Zd#e	d$e	fd%„Zd&e	d'e	d(e	d)e	d*e	d+e	d,efd-„Zd&e	d'e	d(e	d*e	d+e	d,efd.„Z d/ee	   d0e	d1e	d2e	d3e	d4e	d5e	d6e	d7e	d8e	d9e	d:e	d;e	d<e	fd=„Z!d/ee	   d>ee	   d*ee	   d?ee	   d+ee	   d,efd@„Z"d/ee	   d>ee	   d*ee	   d?ee	   d+ee	   d,efdA„Z#d/ee	   dBeee	      dCeee
      fdD„Z$d	ee	   dEee	   fdF„Z%d	ee	   dGee	   fdH„Z&d	ee	   dIee	   fdJ„Z'dKee	   d!e	fdL„Z(dKee	   fdM„Z)dKee	   d!e	fdN„Z*dKee	   dOee	   fdP„Z+d	ee	   d!e	dQee	   fdR„Z,	 	 	 �ddSee	   dTee	   dUe	dVedWef
dX„Z-dY„ Z.d	ee	   d!e	dZee	   d[ee	   d\e	f
d]„Z/d^eee	      fd_„Z0d!e	d`eee	      fda„Z1dGee	   fdb„Z2dcee	   ddee	   dee	dQe	fdf„Z3d^eee	      d!e	fdg„Z4d^eee	      d!e	fdh„Z5d	ee	   d!e	dQe	fdi„Z6djee	   dkee	   fdl„Z7d	ee	   fdm„Z8d	ee	   dne	doe	fdp„Z9d/ee	   dSee	   dqeee	      fdr„Z:d	ee	   dsee	   dEee	   dteduef
dv„Z;dwee	   defdx„Z<d/ee	   dyee	   dqeee	      d*ee	   d?ee	   d+ee	   dze	fd{„Z=d|ee	   d}ee	   dqeee	      d*ee	   d?ee	   d+ee	   dze	fd~„Z>d/ee	   dSee	   dqeee	      d*ee	   d?ee	   d+ee	   dze	fd„Z?d/ee	   dSee	   dqeee	      d*ee	   d?ee	   d+ee	   dze	fd€„Z@d�ee	   d/ee	   dSee	   d‚eee	      fdƒ„ZA	 	 	 	 	 	 �dd/ee	   dSee	   dqeee	      d*eee	      d?eee	      d„eee	      dze	d+eee	      dee	   fd…„ZBd/ee	   dSee	   dqeee	      d*ee	   d?ee	   d+ee	   d†ed„ee	   dze	dee	   fd‡„ZCd/ee	   dSee	   dqeee	      d*ee	   d?ee	   d+ee	   d†ed„ee	   dze	dˆed‰edŠed‹edee	   fdŒ„ZDd/ee	   dSeee	      dqeee	      d�eee	      dŽeee	      d�ed�e
d‘e
dŠefd’„ZEd/ee	   dSee	   dqeee	      d*ee	   d?ee	   d+ee	   dze	fd“„ZF�dd!e	d”e	d•efd–„ZGd/efd—„ZHdKee	   fd˜„ZId[eded™edšed›ef
dœ„ZJdZed[eded™edšed›efd�„ZKdZed[ed\eded™edšed›efdž„ZLd/ee	   dOee	   fdŸ„ZMd	ee	   d ee	   d¡ee	   dee	   fd¢„ZNd/ee	   d£e	d¤e	fd¥„ZOd/ee	   fd¦„ZPd/ee	   fd§„ZQd	ee	   d!e	d¨efd©„ZR	 �dd	ee	   d!ee	   d¨edee	   fdª„ZSd	ee	   dEee	   dee	   fd«„ZTd	ee	   dee	   fd¬„ZU�dd	ee	   d­e	d!e	deVee	   ee	   f   fd®„ZWd	ee	   d¯ee	   dSeee	      d°e	deVee	   ee	   f   f
d±„ZXd/ee	   d²ee	   deVee	   ee	   ee	   f   fd³„ZYd/ee	   dSeee	      dqeee	      d�eee	      dŽeee	      d�edeVee	   ee	   ee	   f   fd´„ZZd/ee	   dSeee	      dqeee	      d�eee	      dŽeee	      deVee	   ee	   ee	   ee	   f   fdµ„Z[	 	 	 	 �dd	ee	   d¯ee	   dSeee	      d°e	d¶e	d·e
dee	   fd¸„Z\	 ejº                  j¼                  Z_i a`eaebe_f   ecd¹<   i ZdeaebeVe_e_f   f   ecdº<   i Zeeaee_f   ecd»<   d¼efd½„Zfd¾ebd¼efd¿„Zgd¾ebdÀedÁefdÂ„Zh egdÃe«        egdÄe«        egdÅe«        egdÆe«        egdÇeH«        egdÈeH«        egdÉe«        egdÊe«        egdËeJ«        egdÌeK«        egdÍeL«        egdÎe)«        egdÏe*«        egdÐe+«        egdÑe(«        egdÒe/«        egdÓe6«        egdÔe,«        egdÕe«        egdÖe«        egd×e«        egdØe«        egdÙe-«        egdÚe%«        egdÛe&«        egdÜe'«        egdÝe7«        egdÞe:«        egdße"«        egdàe#«        egdáe8«        egdâe9«        egdãe?«        egdäe@«        egdåeE«        egdæeF«        egdçeA«        egdèeC«        egdéeD«        egdêeB«        egdëeO«        egdìe4«        egdíe5«        egdîeM«        egdïeN«        egdðe«        egdñe«        egdòe«        egdóe«        egdôe«        egdõe«        egdöeH«        egd÷eH«        egdøe;«        egdùe$«        egdúe«        egdûe«        egdüe«        egdýe«        egdþeS«        egdÿeT«        eg�d eU«        eg�deW«        eg�deX«        eg�deY«        eg�deZ«        eg�deZ«        eg�deZ«        eg�de[«        eg�de\«        eg�d	e«        eg�d
e«        eg�de«        eh�dePeQ«       y(  é    N)ÚAnyÚCallableÚDictÚListÚOptionalÚTupleÚUnionÚaÚbc           	      óD  — t        | «      }t        |«      }t        ||«      }g }t        |«      D ]m  }|dz
  |z
  }|dz
  |z
  }|dz
  |z
  }	|dk\  r| |   nd}
|	dk\  r||	   nd}|
|k7  r|
dk7  r|dk7  rt        d|
› d|› d|› �«      ‚|j	                  |
dk(  r|n|
«       Œo |S )Né   r   zThe size of tensor a z" must match the size of tensor b (z) at non-singleton dimension )ÚlenÚmaxÚrangeÚAssertionErrorÚappend)r
   r   ÚdimsAÚdimsBÚndimÚexpandedSizesÚiÚoffsetÚdimAÚdimBÚsizeAÚsizeBs               úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/jit/_shape_functions.pyÚ	broadcastr      sß   € Ü�‹F€EÜ�‹F€EÜˆu�eÓ€DØ!€Mä�4‹[ò =ˆØ˜‘˜A‘ˆØ�q‰y˜6Ñ!ˆØ�q‰y˜6Ñ!ˆØ  AšI��$’¨AˆØ  AšI��$’¨Aˆà�EŠ>˜e qšj¨U°aªZä Ø'¨ wÐ.PÐQVÐPWÐWtÐuvÐtwÐxóð ð 	×Ñ e¨q¢j™U°eÕ<ð=ð Ðó    Úcc                 ó.   — t        t        | |«      |«      S ©N©r   ©r
   r   r    s      r   Úbroadcast_threer%   3   s   € Ü”Y˜q !“_ aÓ(Ð(r   c                 ó   — t        | |«      S r"   r#   r$   s      r   Úbroadcast_one_threer'   7   s   € Ü�Q˜‹?Ðr   ÚselfÚoutc                 ó@  — t        |«      dk(  sJ ‚t        | «      dk(  st        | «      dk(  sJ ‚t        dt        | «      «      D ]  }| |   dk7  rŒJ ‚ g }t        dt        | «      dz
  «      D ]  }|j                  | |   «       Œ |D ]  }|j                  |«       Œ |S )Né   é   é   r   r   )r   r   r   )r(   r)   r   ÚshapeÚelems        r   Úadaptive_avg_pool2dr0   ;   s¬   € Üˆs‹8�qŠ=Ðˆ=Üˆt‹9˜Š>œS ›Y¨!š^Ð+Ð+Ü�1”c˜$“iÓ ò ˆØ�A‰w˜!‹|Ðˆ|ðð €EÜ�1”c˜$“i !‘mÓ$ò ˆØ�‰�T˜!‘WÕðàò ˆØ�‰�TÕðà€Lr   c                 ó:   — g }| D ]  }|j                  |«       Œ |S r"   ©r   )r(   r)   r/   s      r   Ú_copyr3   I   s'   € Ø€CØò ˆØ�
‰
�4Õðà€Jr   c                 ó   — t        | «      S r"   ©r3   ©r(   s    r   Úunaryr7   P   s   € Ü�‹;Ðr   c                 ó  — t        | «      }t        |«      }||kD  rt        d|› d|› d�«      ‚t        |«      D ]B  }||z
  |z   }| |   }|dk\  r||   nd}||k7  sŒ"|dk7  sŒ(t        dj                  |||«      «      ‚ t	        | «      S )NzThe dims of tensor b (z5) must be less than or equal tothe dims of tensor a (z) r   r   zZThe size of tensor a {} must match the size of tensor b ({}) at non-singleton dimension {})r   r   r   Úformatr3   )r
   r   r   r   r   r   r   r   s           r   Úbroadcast_inplacer:   T   s³   € Ü�‹F€EÜ�‹F€EØˆu‚}ÜØ$ U GÐ+`ÐafÐ`gÐgiÐjó
ð 	
ô �e“ò 	ˆØ�u‰}˜tÑ#ˆØ�$‘ˆØ  AšI��$’¨AˆØ�E‹>˜e q›jä ð4ß4:±F¸5À%ÈÓ4Nóð ð	ô �‹8€Or   Úsizesc                 óD  — t        |«      t        | «      k\  sJ ‚t        |«      }t        | «      }|dk(  rt        |«      S g }t        |«      D ]P  }|dz
  |z
  }|dz
  |z
  }|dk\  r| |   nd}||   }	|	dk(  r	|dk\  sJ ‚|}	||	k7  r	|dk(  sJ ‚|	}|j                  |«       ŒR |S )Nr   r   éÿÿÿÿ)r   r3   r   r   )
r(   r;   r   Ú
tensor_dimr)   r   r   ÚdimÚsizeÚ
targetSizes
             r   ÚexpandrB   h   sÌ   € Üˆu‹:œ˜T›Ò"Ð"Ð"Üˆu‹:€DÜ�T“€JØˆq‚yÜ�U‹|ÐØ€CÜ�4‹[ò ˆØ˜‘˜A‘ˆØ˜1‰n˜vÑ%ˆØ 1šHˆt�CŠy¨!ˆØ˜1‘Xˆ
Ø˜ÒØ˜!’8ˆO�8ØˆJØ�:ÒØ˜1’9Ð�9ØˆDØ�
‰
�4Õðð €Jr   Úinp0c                 ó   — t        | |«      S r"   )rB   )r(   r;   rC   s      r   Úexpand_one_unusedrE   ~   s   € Ü�$˜ÓÐr   r.   ÚnumelÚreturnc                 ó  — d}d }t        t        | «      «      D ]5  }| |   dk(  r|�t        d«      ‚|}Œ| |   dk\  r	|| |   z  }Œ,t        d«      ‚ ||k(  s|�|dkD  r||z  dk(  st        d«      ‚t        | «      }|�||z  ||<   |S )Nr   r=   z"only one dimension can be inferredr   zinvalid shape dimensionszinvalid shape)r   r   r   r3   )r.   rF   ÚnewsizeÚ	infer_dimr?   r)   s         r   Úinfer_size_implrK   ‚   sº   € Ø€GØ#€IÜ”S˜“ZÓ ò =ˆØ�‰:˜ÒØÐ$Ü$Ð%IÓJÐJØ‰IØ�3‰Z˜1Š_Ø�u˜S‘zÑ!‰Gä Ð!;Ó<Ð<ð=ð 	�ÒØÐ! g°¢k°e¸g±oÈÒ6Jä˜_Ó-Ð-Ü
�‹,€CØÐØ 'Ñ)ˆˆI‰Ø€Jr   c                 ó"   — d}| D ]  }||z  }Œ	 |S ©Nr   © )r;   rF   r/   s      r   rF   rF   ™   s$   € Ø€EØò ˆØ�‰‰ðà€Lr   c                 ó,   — t        |t        | «      «      S r"   )rK   rF   )r(   r;   s     r   ÚviewrP       s   € Ü˜5¤%¨£+Ó.Ð.r   F)ÚimplicitrQ   c                ó   — t        | |«      S r"   )rP   )r(   r;   rQ   s      r   Úview_one_unusedrS   ¤   s   € Ü��eÓÐr   Úopt_dimsÚkeep_dimÚdtc           	      ó:  — g }|�t        |«      dk(  rt        t        t        | «      «      «      }n|}t        t        | «      «      D ]Q  }d}|D ]  }|t        |t        | «      «      k(  sŒd}Œ |r|sŒ,|j	                  d«       Œ>|j	                  | |   «       ŒS |S )Nr   FTr   )r   Úlistr   Úmaybe_wrap_dimr   )	r(   rT   rU   rV   r)   ÚdimsÚidxÚis_mean_dimÚ
reduce_dims	            r   Úsum_mean_dimr^   ¨   s    € ð €CØÐœ3˜x›=¨AÒ-Üœu¤S¨£YÓ/Ó0‰àˆä”S˜“YÓò 	"ˆØ!ˆØò 	#ˆJØ”n Z´°T³Ó;Ó;Ø"‘ð	#ñ ÚØ—
‘
˜1•à�J‰J�t˜C‘yÕ!ð	"ð €Jr   r?   c                 ó(   — t        | |g|d «      }||fS r"   )r^   )r(   r?   rU   r)   s       r   Úmax_dimr`   ¾   s   € Ü
�t˜c˜U H¨dÓ
3€CØ�ˆ8€Or   ÚxÚyc                 ó   — | |z  S r"   rN   )ra   rb   s     r   Údiv_rtnrd   Ä   s   € Ø�‰6€Mr   Ú	inputSizeÚ
kernelSizeÚpad_lÚpad_rÚstrideÚdilationÚ	ceil_modec                 ó†   — t        | |z   |z   ||dz
  z  z
  dz
  |r|dz
  ndz   |«      dz   }|r|dz
  |z  | |z   k\  r|dz
  }|S ©Nr   r   )rd   )re   rf   rg   rh   ri   rj   rk   Ú
outputSizes           r   Úpooling_output_shape_pad_lrro   È   sŒ   € ô 	ØØñàñð ˜* q™.Ñ)ñ*ð ñ	ñ
 'ˆv˜Šz¨Añ/ð ó	
ð ñ		ð ñ Ø˜‰N˜fÑ$¨	°EÑ(9Ò9Ø# a™ˆJØÐr   c           	      ó<   — |dk7  sJ d«       ‚t        | ||||||«      S )Nr   zstride should not be zeero)ro   )re   rf   rg   ri   rj   rk   s         r   Úpooling_output_shaperq   ã   s2   € ð �QŠ;Ð4Ð4Ó4ˆ;Ü&Ø�:˜u e¨V°X¸yóð r   ÚinputÚkHÚkWÚdHÚdWÚpadHÚpadWÚ	dilationHÚ	dilationWÚnInputPlaneÚinputHeightÚ
inputWidthÚoutputHeightÚoutputWidthc                 ó  — t        | «      }|dkD  r|dkD  sJ ‚|dkD  r|dkD  sJ ‚|dkD  r|dkD  sJ ‚| d   dk7  xr | d   dk7  }|dk(  r
| d   dk7  r|s|dk(  r
|r| d   dk7  sJ ‚|dz  |k\  r|dz  |k\  sJ ‚|dk\  r|dk\  sJ ‚y )Nr   r   r+   r,   r-   ©r   )rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   Ú
valid_dimss                   r   Úpool2d_shape_checkrƒ   ñ   sÇ   € ô  ˆu‹:€Dà�Š6�b˜1’fÐÐØ�Š6�b˜1’fÐÐØ�qŠ=˜Y¨š]Ð*Ð*à�q‘˜Q‘Ò0 5¨¡8¨q¡=€Jà�Š	Ø�!‰H˜ŠMÙØ�AŠI™*¨¨q©°Qªð	ð	8ð �‰7�dŠ?˜r Q™w¨$šÐ.Ð.Ø˜!Ò °Ò 1Ð1Ð1Ð 1r   Úkernel_sizeÚpaddingc                 óp  — t        |«      dk(  st        |«      dk(  sJ d«       ‚|d   }t        |«      dk(  r|n|d   }t        |«      dk(  s#t        |«      dk(  st        |«      dk(  sJ d«       ‚t        |«      dk(  r|n|d   }t        |«      dk(  r|}	nt        |«      dk(  r|}	n|d   }	t        |«      dk(  st        |«      dk(  sJ d«       ‚|d   }
t        |«      dk(  r|
n|d   }t        |«      dk(  st        |«      dk(  sJ d«       ‚|d   }t        |«      dk(  r|n|d   }t        | «      dk(  st        | «      d	k(  sJ ‚t        | «      d	k(  r| d
   nd}| d   }| d   }| d   }t        |||
|||«      }t        ||||	||«      }t        | ||||	|
||||||||«       t        | «      dk(  r|||gS ||||gS )Nr   r+   zKmax_pool2d: kernel_size must either be a single int, or a tuple of two intsr   zOmax_pool2d: stride must either be omitted, a single int, or a tuple of two intszGmax_pool2d: padding must either be a single int, or a tuple of two intszHmax_pool2d: dilation must be either a single int, or a tuple of two intsr,   r-   éüÿÿÿéýÿÿÿéþÿÿÿr=   )r   rq   rƒ   )rr   r„   ri   r…   rj   rk   rs   rt   ru   rv   rw   rx   ry   rz   Únbatchr{   r|   r}   r~   r   s                       r   Ú
max_pool2dr‹     s(  € ô 	ˆKÓ˜AÒ¤ [Ó!1°QÒ!6ðUàTóUØ6à	�Q‰€BÜ�;Ó 1Ò$‰¨+°a©.€Bô 	ˆF‹�qÒœC ›K¨1Ò,´°F³¸qÒ0@ðYàXóYØ@ä�6‹{˜aÒ‰ V¨A¡Y€BÜ
ˆ6ƒ{�aÒØ‰Ü	ˆV‹˜Ò	Ø‰à�A‰Yˆô 	ˆG‹˜ÒœS ›\¨QÒ.ðQàPóQØ.à�1‰:€DÜ�w“< 1Ò$‰4¨'°!©*€Dô 	ˆH‹˜Òœc (›m¨qÒ0ðRàQóRØ0à˜‘€IÜ  ›]¨aÒ/‘	°X¸a±[€Iäˆu‹:˜Š?œc %›j¨AšoÐ-Ð-ä˜e›*¨š/ˆU�2ŠY¨q€FØ˜‘)€KØ˜‘)€KØ�r‘€Jä'¨°R¸¸rÀ9ÈiÓX€LÜ& z°2°t¸RÀÈIÓV€KäØØ
Ø
Ø
Ø
ØØØØØØØØØôô" ˆ5ƒz�Q‚Ø˜\¨;Ð7Ð7à˜ \°;Ð?Ð?r   c                 ó*   — t        | |||||«      }||fS r"   )r‹   )rr   r„   ri   r…   rj   rk   r)   s          r   Úmax_pool2d_with_indicesr�   Y  s"   € ô �U˜K¨°¸(ÀIÓ
N€CØ�ˆ:Ðr   Úoutput_sizeÚscale_factorsc                 ó¸  — g }|j                  | d   «       |j                  | d   «       |€	|€J d«       ‚|�A|�J d«       ‚t        |«      dk(  sJ ‚|j                  |d   «       |j                  |d   «       |�_|�J d«       ‚t        |«      dk(  sJ ‚|j                  t        | d   |d   z  «      «       |j                  t        | d   |d   z  «      «       |S )Nr   r   z5Either output_size or scale_factors must be presentedz9Must specify exactly one of output_size and scale_factorsr+   r,   )r   r   Úint)rr   rŽ   r�   r)   s       r   Úupsample_nearest2dr’   e  s  € ð
 €CØ‡J�Jˆu�Q‰xÔØ‡J�Jˆu�Q‰xÔàÐ Ð!4ØIÐIÓIˆqàÐàÐ!ð	GàFó	GØ!ä�;Ó 1Ò$Ð$Ð$Ø�
‰
�;˜q‘>Ô"Ø�
‰
�;˜q‘>Ô"àÐ àÐð	GàFó	GØä�=Ó! QÒ&Ð&Ð&Ø�
‰
”3�u˜Q‘x -°Ñ"2Ñ2Ó3Ô4Ø�
‰
”3�u˜Q‘x -°Ñ"2Ñ2Ó3Ô4à€Jr   Úmat2c                 ó„   — t        | «      dk(  sJ d«       ‚t        |«      dk(  sJ d«       ‚| d   |d   k(  sJ ‚| d   |d   gS )Nr+   zself must be a matrixzmat2 must be a matrixr   r   r�   ©r(   r“   s     r   Úmmr–   „  sW   € Üˆt‹9˜Š>Ð2Ð2Ó2ˆ>Üˆt‹9˜Š>Ð2Ð2Ó2ˆ>à�‰7�d˜1‘gÒÐÐØ�‰G�T˜!‘WÐÐr   Útensorc                 ó`   — t        | «      dk(  rt        |«      dk(  sJ ‚| d   |d   k(  sJ ‚g }|S rm   r�   )r(   r—   r)   s      r   Údotr™   Œ  s>   € Üˆt‹9˜Š>œc &›k¨QÒ.Ð.Ð.Ø�‰7�f˜Q‘iÒÐÐØ€CØ€Jr   Úvecc                 ód   — t        | «      dk(  rt        |«      dk(  sJ ‚| d   |d   k(  sJ ‚| d   gS ©Nr+   r   r   r�   )r(   rš   s     r   Úmvr�   “  s?   € Üˆt‹9˜Š>œc #›h¨!šmÐ+Ð+Ø�‰7�c˜!‘fÒÐÐà�‰Gˆ9Ðr   Úlic                 óp   — t        |t        | «      dz   «      }t        | «      }|j                  |d«       |S rM   )rY   r   r3   Úinsert)rž   r?   r)   s      r   Ú	unsqueezer¡   š  s2   € Ü
˜œc "›g¨™kÓ
*€CÜ
�‹)€CØ‡J�Jˆs�AÔØ€Jr   c                 óv   — g }t        t        | «      «      D ]  }| |   dk7  sŒ|j                  | |   «       Œ! |S rM   )r   r   r   )rž   r)   r   s      r   Úsqueeze_nodimr£   ¡  s@   € Ø€CÜ”3�r“7‹^ò ˆØˆa‰5�A‹:Ø�J‰J�r˜!‘uÕðð €Jr   c                 óÔ   — g }t        |t        | «      «      }t        t        | «      «      D ]9  }||k(  r| |   dk7  sŒ|j                  | |   «       Œ&|j                  | |   «       Œ; |S rM   )rY   r   r   r   )rž   r?   r)   Úwrapped_dimr   s        r   Úsqueezer¦   ©  sh   € Ø€CÜ  ¤c¨"£gÓ.€KÜ”3�r“7‹^ò ˆØ�ÒØ�!‰u˜‹zØ—
‘
˜2˜a™5Õ!à�J‰J�r˜!‘uÕðð €Jr   rZ   c                 óF  — t        |«      dk(  r| S t        |«      }t        t        |«      «      D ]  }t        ||   t        | «      «      ||<   Œ g }t        t        | «      «      D ]8  }| |   dk(  r||vsŒ|j	                  | |   «       Œ%|j	                  | |   «       Œ: |S ©Nr   r   )r   r3   r   rY   r   )rž   rZ   Úwrapped_dimsr   Úresults        r   Úsqueeze_dimsr«   µ  s£   € Ü
ˆ4ƒy�A‚~Øˆ	Ü˜“;€LÜ”3�t“9Óò CˆÜ(¨°a©¼#¸b»'ÓBˆ�QŠðCà€FÜ”3�r“7‹^ò !ˆØˆa‰5�AŠ:Ø˜Ò$Ø—‘˜b ™eÕ$à�M‰M˜"˜Q™%Õ ð!ð €Mr   Úindexc                 ó  — t        |t        | «      «      }t        |«      }t        |«      dk  sJ ‚|dk(  s|t        | «      k  sJ ‚g }t        t        | «      «      D ]-  }||k(  r|j	                  |«       Œ|j	                  | |   «       Œ/ |S rm   )rY   r   Úmultiply_integersr   r   )r(   r?   r¬   rF   Úresult_sizer   s         r   Úindex_selectr°   Å  s�   € Ü
˜œc $›iÓ
(€CÜ˜eÓ$€EÜˆu‹:˜Š?Ðˆ?Ø�!Š8�sœS ›Y’Ð&Ð&Ø€KÜ”3�t“9Óò (ˆØ�!Š8Ø×Ñ˜uÕ%à×Ñ˜t A™wÕ'ð	(ð
 Ðr   ÚweightÚindicesÚpadding_idxÚscale_grad_by_freqÚsparsec                 óš   — t        | «      dk(  sJ ‚t        |«      dk(  rt        | d|«      S t        |«      }|j                  | d   «       |S rœ   )r   r°   r3   r   )r±   r²   r³   r´   rµ   r@   s         r   Ú	embeddingr·   Ó  sO   € ô ˆv‹;˜!ÒÐÐÜ
ˆ7ƒ|�qÒÜ˜F A wÓ/Ð/Ü�‹>€DØ‡K�K��q‘	ÔØ€Kr   c                   ó   — y)Nl   ÿÿÿÿ rN   rN   r   r   Úmax_intr¹   â  s   € Ør   ÚstartÚendÚstepc                 óZ  — t        | «      }|dk7  sJ ‚t        ||«      }|�|nd}|�|n	t        «       }|dkD  sJ ‚|t        «       k(  rd}|dk  r|| |   z  }|dk  r|| |   z  }|dk  rd}n|| |   kD  r| |   }||k  r|}n|| |   k\  r| |   }||z
  }t        | «      }	||z   dz
  |z  |	|<   |	S r¨   )r   rY   r¹   r3   )
r(   r?   rº   r»   r¼   r   Ú	start_valÚend_valÚ	slice_lenr)   s
             r   ÚslicerÁ   æ  sõ   € ô ˆt‹9€DØ�1Š9Ðˆ9Ü
˜˜dÓ
#€CØÐ*‘°€IØ�_‰c¬'«)€GØ�!Š8€Oˆ8Ø”G“IÒØˆ	Ø�1‚}Ø�T˜#‘YÑˆ	Ø�‚{Ø�4˜‘9ÑˆØ�1‚}Ø‰	Ø	�T˜#‘YÒ	Ø˜‘Iˆ	Ø�ÒØ‰Ø	�D˜‘IÒ	Ø�s‘)ˆØ˜)Ñ#€IÜ
�‹+€CØ˜DÑ  1Ñ$¨Ñ-€Cˆ�HØ€Jr   Útensorsc                 ó2   — | D ]  }t        |«      dkD  rŒJ ‚ y ©Nr   r�   )rÂ   r—   s     r   Úcheck_cat_no_zero_dimrÅ     s!   € Øò ˆÜ�6‹{˜Q‹Ðˆñr   Útensor_sizesc                 ó~   — d }|D ]1  }t        |«      dk(  r	|d   dk(  rŒ|�Œt        | t        |«      «      }Œ3 |€| }|S rm   )r   rY   )r?   rÆ   Úout_dimr@   s       r   Úlegacy_cat_wrap_dimrÉ     sQ   € Ø!€GØò 9ˆÜ�D“	˜Q’ 4¨¡7¨a£<Ø‰Ü(¨¬c°$«iÓ8‘ð9ð €ØˆØ€Nr   c                 ó>   — t        | «      dk(  xr t        | «      dk(  S r¨   ©rF   r   )r—   s    r   Úshould_skiprÌ     s   € Ü�‹=˜AÑÒ2¤# f£+°Ñ"2Ð2r   ÚfirstÚsecondÚ	dimensionc                 óš   — t        | «      }t        |«      }||k(  sJ d«       ‚t        d|«      D ]  }||k7  sŒ	| |   ||   k(  rŒJ d«       ‚ y )Nz+Tensors must have same number of dimensionsr   z/Sizes of tensors must match except in dimension)r   r   )rÍ   rÎ   rÏ   r¬   Ú
first_dimsÚsecond_dimsr?   s          r   Úcheck_cat_shape_except_dimrÓ     sl   € ô �U“€JÜ�f“+€KØ˜Ò$ÐSÐ&SÓSÐ$Ü�Q˜
Ó#ò AˆØ�)Óà�c‘
˜f S™kÓ)ðAà@óAØ)ñAr   c                 ó0  — t        | «       t        || «      }t        | «      dkD  sJ ‚d }| D ]  }t        |«      rŒ|}Œ |€dgS d}t	        t        | «      «      D ])  }| |   }t        |«      rŒt        ||||«       |||   z   }Œ+ t        |«      }|||<   |S rÄ   )rÅ   rÉ   r   rÌ   r   rÓ   r3   )rÂ   r?   Únot_skipped_tensorr—   Úcat_dim_sizer   r¯   s          r   Úcatr×   $  sÂ   € Ü˜'Ô"Ü
˜c 7Ó
+€CÜˆw‹<˜!ÒÐÐØ.2ÐØò (ˆÜ˜6Õ"Ø!'Ñð(ð Ð!Øˆsˆ
à€Lä”3�w“<Ó ò 6ˆØ˜‘ˆÜ˜6Õ"Ü&Ð'9¸6À3ÈÔJØ'¨&°©+Ñ5‰Lð	6ô Ð*Ó+€KØ#€K�ÑØÐr   c                 óf   — g }| D ]  }t        ||«      }|j                  |«       Œ! t        ||«      S r"   )r¡   r   r×   )rÂ   r?   Úunsqueezed_tensorsr—   Ú
unsqueezeds        r   ÚstackrÛ   <  sA   € Ø*,ÐØò .ˆÜ˜v sÓ+ˆ
Ø×!Ñ! *Õ-ð.ô Ð! 3Ó'Ð'r   c                 óÒ   — t        | «      }|dk7  sJ ‚t        ||«      }| |   }|| k  s||k\  rJ ‚|dk  r||z  }g }t        |«      D ]  }||k7  sŒ	|j                  | |   «       Œ |S rÄ   )r   rY   r   r   )r(   r?   r¬   r   r@   r)   r   s          r   ÚselectrÝ   D  s‡   € Üˆt‹9€DØ�1Š9Ðˆ9Ü
˜˜dÓ
#€CØ�‰9€DØ˜˜’ ¨$¢Ð/Ð/Øˆq‚yØ�‰ˆØ€CÜ�4‹[ò  ˆØ�‹8Ø�J‰J�t˜A‘wÕð ð €Jr   Útensor1Útensor2c                 óf  — t        | «      }t        |«      }|dk(  r|dk(  rt        | |«      S |dk(  r|dk(  rt        | |«      S |dk(  r%|dk(  r t        t	        t        | d«      |«      d«      S |dk(  r|dk(  rt	        | |«      S |dk\  r¤|dk\  rŸ|dkD  r| d   nd}g }t        |dz
  «      D ]  }|j                  | |   «       Œ |d   }g }t        |dz
  «      D ]  }|j                  ||   «       Œ t        ||«      }	|	}
|dkD  r|
j                  |«       |dkD  r|
j                  |«       |
S J d«       ‚)Nr   r+   r   r‰   r=   z0both  arguments to matmul need to be at least 1D)	r   r™   r�   r¦   r–   r¡   r   r   r   )rÞ   rß   Údim_tensor1Údim_tensor2ÚnÚbatch_tensor1r   ÚpÚbatch_tensor2Úexpand_batch_portionÚoutput_shapes              r   Úmatmulré   S  sl  € Ü�g“,€KÜ�g“,€KØ�aÒ˜K¨1Ò,Ü�7˜GÓ$Ð$Ø	˜Ò	˜k¨QÒ.Ü�'˜7Ó#Ð#Ø	˜Ò	˜k¨QÒ.Ü”rœ) G¨QÓ/°Ó9¸1Ó=Ð=Ø	˜Ò	˜k¨QÒ.Ü�'˜7Ó#Ð#Ø	˜Ò	˜k¨QÒ.ð '¨š?ˆG�BŠK°ˆØ#%ˆä�{ Q‘Ó'ò 	-ˆAØ× Ñ  ¨¡Õ,ð	-à�B‰KˆØ#%ˆä�{ Q‘Ó'ò 	-ˆAØ× Ñ  ¨¡Õ,ð	-ô  )¨¸ÓFÐð ,ˆØ˜Š?Ø×Ñ Ô"à˜Š?Ø×Ñ Ô"àÐàHÐHÓHˆur   c                 ót   — t        | «      dk  sJ ‚t        | «      }|dk(  rg }|S |dk(  r| d   gS | d   | d   gS )Nr+   r   r   r�   )r(   Úself_lenr)   s      r   Útrì   |  sR   € Üˆt‹9˜Š>Ðˆ>Ü�4‹y€HØ�1‚}ØˆØˆ
Ø	�QŠØ�Q‘ˆyÐà�Q‘˜˜a™Ð!Ð!r   Údim0Údim1c                 ó   — t        | «      }t        ||«      }t        ||«      }||k(  rt        | «      S g }t        |«      D ]J  }||k(  r|j	                  | |   «       Œ||k(  r|j	                  | |   «       Œ7|j	                  | |   «       ŒL |S r"   )r   rY   r3   r   r   )r(   rí   rî   Úndimsr)   r   s         r   Ú	transposerñ   ˆ  s‘   € Ü�‹I€EÜ˜$ Ó&€DÜ˜$ Ó&€DØˆt‚|Ü�T‹{ÐØ€CÜ�5‹\ò  ˆØ�Š9Ø�J‰J�t˜D‘zÕ"Ø�$ŠYØ�J‰J�t˜D‘zÕ"à�J‰J�t˜A‘wÕð ð €Jr   Úbiasc                 óV   — t        | t        |«      «      }|�t        ||«      |k(  sJ ‚|S r"   )ré   rì   r   )rr   r±   rò   r)   s       r   Úlinearrô   ™  s2   € Ü
�œ˜&›	Ó
"€CØÐÜ˜˜sÓ# sÒ*Ð*Ð*Ø€Jr   Úmat1ÚbetaÚalphac                 ó.   — t        | t        ||«      «      S r"   )r   r–   )r(   rõ   r“   rö   r÷   s        r   Úaddmmrù      s   € Ü�Tœ2˜d D›>Ó*Ð*r   Úarrayc                 ó(   — d}| D ]
  }|dk  sŒ	d}Œ |S )NFr   TrN   )rú   Únon_negativeÚvals      r   Úcheck_non_negativerþ   ¤  s*   € à€LØò  ˆØ�‹7Ø‰Lð ð Ðr   Úweight_sizesÚgroupsc                 ól  — t        | «      }t        |«      }t        |«      rJ ‚t        |«      rJ ‚||k(  sJ ‚|d   |k\  sJ ‚|d   |z  dk(  sJ ‚| d   |d   |z  k(  sJ ‚|�t        |«      dk(  r|d   |d   k(  sJ ‚t        d|«      D ]*  }	| |	   d||	dz
     z  z   ||	dz
     ||	   dz
  z  dz   k\  rŒ*J ‚ y ©Nr   r   r+   )r   rþ   r   )
rr   rÿ   rò   ri   r…   rj   r   ÚkÚ
weight_dimr   s
             r   Úcheck_shape_forwardr  ­  s  € ô 	ˆE‹
€AÜ�\Ó"€Jô " 'Ô*Ð*Ð*Ü! &Ô)Ð)Ð)à˜Š?Ðˆ?Ø˜‰?˜fÒ$Ð$Ð$Ø˜‰O˜fÑ$¨Ò*Ð*Ð*à�‰8�| A‘¨Ñ/Ò/Ð/Ð/Øˆ<œC ›I¨šN¨t°A©w¸,Àq¹/Ò/IÐJÐJä�1�a‹[ò 
ˆØ�a‘˜1˜w q¨1¡u™~Ñ-Ñ-Ø�Q˜‘U‰O˜|¨A™°Ñ2Ñ3°aÑ7ó
ð 	
ð 
ñ
r   Ú
input_sizeÚweight_sizec           	      ój  — t        | ||||||«       t        |«      dkD  }t        | «      }g }	d}
d}|	j                  | |
   «       |	j                  ||   «       t        d|«      D ]K  }|r||dz
     nd}|||   dz
  z  dz   }|	j                  | |   d||dz
     z  z   |z
  ||dz
     z  dz   «       ŒM |	S )Nr   r+   r   )r  r   r   r   )r  r  rò   ri   r…   rj   r   Úhas_dilationr?   rŽ   Úinput_batch_size_dimÚweight_output_channels_dimÚdÚ	dilation_Úkernels                  r   Úconv_output_sizer  Ì  sñ   € ô Ø�K  v¨w¸À&ôô �x“= 1Ñ$€LÜ
ˆj‹/€CØ€KØÐØ!"ÐØ×Ñ�zÐ"6Ñ7Ô8Ø×Ñ�{Ð#=Ñ>Ô?ä�1�c‹]ò 
ˆÙ'3�H˜Q ™U’O¸ˆ	Ø˜k¨!™n¨qÑ0Ñ1°AÑ5ˆØ×ÑØ˜‰]˜a '¨!¨a©%¡.Ñ0Ñ1°FÑ:¸vÀaÈ!Áe¹}ÑLÈqÑPõ	
ð
ð Ðr   c           	      ód   — t        |«      dk(  sJ ‚t        | «      dk(  sJ ‚t        | ||||||«      S )Nr,   ©r   r  ©rr   r±   rò   ri   r…   rj   r   s          r   Úconv1dr  ê  ó=   € ô ˆv‹;˜!ÒÐÐÜˆu‹:˜Š?Ðˆ?Ü˜E 6¨4°¸À(ÈFÓSÐSr   c           	      ód   — t        |«      dk(  sJ ‚t        | «      dk(  sJ ‚t        | ||||||«      S )Nr-   r  r  s          r   Úconv2dr  ø  r  r   Úgrad_outputÚbiasesc                 ó8   — t        |«      t        |«      | d   gfS rM   r5   )r  rr   r±   r  s       r   Úconv_backwardsr    s    € ô �‹<œ˜v›¨°Q©Ð(8Ð8Ð8r   Úoutput_paddingc                 ó�  — |€ddg}|€ddg}|€ddg}|€ddg}t        |«      dkD  }t        | «      }	g }
d}d}|
j                  | |   «       |
j                  ||   |z  «       t        d|	«      D ]T  }|r||dz
     nd}|||   dz
  z  }|
j                  | |   dz
  ||dz
     z  d||dz
     z  z
  |z   ||dz
     z   dz   «       ŒV |
S )Nr   r   r+   ©r   r   r   )rr   r±   rò   ri   r…   r  r   rj   r	  r?   rŽ   r
  r  r  r  r  s                   r   Úconv_transpose2d_inputr    s3  € ð €~Ø�Q�ˆØ€Ø�a�&ˆØÐØ˜Q˜ˆØÐØ�q�6ˆÜ�x“= 1Ñ$€LÜ
ˆe‹*€CØ€KØÐØ!"ÐØ×Ñ�uÐ1Ñ2Ô3Ø×Ñ�vÐ8Ñ9¸FÑBÔCä�1�c‹]ò 	
ˆÙ'3�H˜Q ™U’O¸ˆ	Ø˜f Q™i¨!™mÑ,ˆØ×ÑØ�1‰X˜‰\˜V A¨¡E™]Ñ*Ø�'˜!˜a™%‘.Ñ ñ!àñð ˜Q ™UÑ#ñ$ð ñ	õ	
ð	
ð Ðr   Ú
transposedc	                 ó>  — t        |«      dkD  }	t        |«      dkD  }
t        | «      }g }d}|rdnd}|j                  | |   «       |r|j                  ||   |z  «       n|j                  ||   «       t        d|«      D ]š  }|	r||dz
     nd}|
r||dz
     nd}|rA|||   dz
  z  }|j                  | |   dz
  ||dz
     z  d||dz
     z  z
  |z   |z   dz   «       Œ^|||   dz
  z  dz   }|j                  | |   d||dz
     z  z   |z
  ||dz
     z  dz   «       Œœ |S r  r  )rr   r±   rò   ri   r…   rj   r  r  r   r	  Úhas_output_paddingr?   rŽ   r
  r  r  r  Úoutput_padding_r  s                      r   Úconv_forwardsr#  7  s‡  € ô �x“= 1Ñ$€LÜ˜^Ó,¨qÑ0ÐÜ
ˆe‹*€CØ€KØÐÙ&0¡°aÐØ×Ñ�uÐ1Ñ2Ô3ÙØ×Ñ˜6Ð"<Ñ=ÀÑFÕGà×Ñ˜6Ð"<Ñ=Ô>ä�1�c‹]ò ˆÙ'3�H˜Q ™U’O¸ˆ	Ù3E˜.¨¨Q©Ò/È1ˆÙØ &¨¡)¨a¡-Ñ0ˆFØ×ÑØ�q‘˜A‘ ¨¨A©¡Ñ.Ø�g˜a !™e‘nÑ$ñ%àñð "ñ"ð ñ	õð  &¨¡)¨a¡-Ñ0°1Ñ4ˆFØ×ÑØ�q‘˜Q ¨¨Q©¡Ñ/Ñ0°6Ñ9¸fÀQÈÁU¹mÑKÈaÑOõðð" Ðr   Ú	benchmarkÚdeterministicÚcudnn_enabledÚ
allow_tf32c                 ó(   — t        | ||||||||«	      S r"   )r#  )rr   r±   rò   ri   r…   rj   r  r  r   r$  r%  r&  r'  s                r   Ú_conv_forwardsr)  b  s,   € ô ØØØØØØØØØó
ð 
r   Úrunning_meanÚrunning_varÚtrainingÚmomentumÚepsc	                 ó:   — g }	| D ]  }
|	j                  |
«       Œ |	S r"   r2   )rr   r±   rò   r*  r+  r,  r-  r.  r&  r)   r/   s              r   Ú
batch_normr0  ~  s)   € ð €CØò ˆØ�
‰
�4Õðà€Jr   c           	      ód   — t        |«      dk(  sJ ‚t        | «      dk(  sJ ‚t        | ||||||«      S )Né   r  r  s          r   Úconv3dr3  �  r  r   Údim_post_exprÚwrap_scalarc                 óX   — |dk  r|sJ ‚d}| }|dz
  }| |k  s| |kD  rJ ‚| dk  r| |z  } | S r¨   rN   )r?   r4  r5  Úminr   s        r   rY   rY   �  sQ   € Ø˜ÒÙÐˆ{ØˆØˆ.€CØ
˜!Ñ
€CØ�c’	˜S 3šYÐ'Ð'Ø
ˆQ‚wØˆ}ÑˆØ€Jr   c                 ó
   — g }|S r"   rN   )rr   r)   s     r   Úzero_dim_tensorr9  ©  s   € Ø€CØ€Jr   c                 ó"   — d}| D ]  }||z  }Œ	 |S rM   rN   )rž   r)   r/   s      r   r®   r®   ®  s$   € Ø
€CØò ˆØ�D‰j‰ðà€Jr   Úinp1Úinp2Úinp3c                 óN   — | dk\  sJ ‚t        t        j                  | «      «      gS rÄ   ©r‘   ÚmathÚceil)r»   rC   r;  r<  r=  s        r   Ú
arange_endrB  µ  s#   € Ø�!Š8€Oˆ8Ü”—	‘	˜#“ÓÐ Ð r   c                 ób   — |dk\  sJ ‚|| k\  sJ ‚t        t        j                  || z
  «      «      gS rÄ   r?  )rº   r»   rC   r;  r<  r=  s         r   Úarange_startrD  º  s6   € ð �!Š8€Oˆ8Ø�%Š<Ðˆ<Ü”—	‘	˜# ™+Ó&Ó'Ð(Ð(r   c                 ó€   — |dk7  sJ ‚|dk  r| |k\  s	J ‚|| k\  sJ ‚t        t        j                  || z
  |z  «      «      gS rÄ   r?  )rº   r»   r¼   rC   r;  r<  r=  s          r   Úarange_start_steprF  Â  sO   € ð �1Š9Ðˆ9Øˆa‚xØ˜Š|Ðˆ|à�eŠ|Ðˆ|Ü”—	‘	˜3 ™;¨$Ñ.Ó/Ó0Ð1Ð1r   c                 ó:  — t        | «      t        |«      k(  sJ ‚t        |«      }g }g }t        |«      D ]6  }t        ||   |«      }|j                  |«       |j                  | |   «       Œ8 t        d|«      D ]  }t        |«      D ]  }||   ||   k7  rŒJ ‚ Œ! |S rM   )r   r   rY   r   )rr   rZ   r   Ú	seen_dimsÚnewSizesr   r?   Újs           r   ÚpermuterK  Í  s³   € Üˆu‹:œ˜T›Ò"Ð"Ð"Üˆt‹9€DØ€IØ€HÜ�4‹[ò $ˆÜ˜T !™W dÓ+ˆØ×Ñ˜ÔØ�‰˜˜c™
Õ#ð$ô �1�d‹^ò 0ˆÜ�q“ò 	0ˆAØ˜Q‘< 9¨Q¡<Ó/Ð/Ð/ñ	0ð0ð €Or   ÚsourceÚdestinationc                 óØ  — t        | «      }|dk  r| S g }g }t        t        |«      «      D ]>  }|j                  t        ||   |«      «       |j                  t        ||   |«      «       Œ@ t        |«      D �cg c]  }d‘Œ }}t        |«      D �cg c]  }|‘Œ }}t        |«      D �cg c]  }|‘Œ }	}t        t        |«      «      D ]  }||   |||   <   d|||   <   d|	||   <   Œ g }
g }|D ]  }|dk7  sŒ	|
j                  |«       Œ |	D ]  }|dk7  sŒ	|j                  |«       Œ |t        |«      z
  }t        |«      D ]  }|
|   |||   <   Œ t	        | |«      S c c}w c c}w c c}w )Nr   r=   )r   r   r   rY   rK  )r(   rL  rM  Úself_dimÚnormalized_srcÚnormalized_dstr   ÚorderÚsrc_dimsÚdst_dimsÚsource_dimsÚdestination_dimsÚeleÚrest_dims                 r   ÚmovedimrY  Ü  s¤  € Ü�4‹y€HØ�1‚}ØˆØ "€NØ "€NÜ”3�v“;Óò HˆØ×Ñœn¨V°A©Y¸ÓAÔBØ×Ñœn¨[¸©^¸XÓFÕGðHô ˜x›Ö)�AŠRÐ)€EÐ)Ü  ›?Ö+�a’Ð+€HÐ+Ü  ›?Ö+�a’Ð+€HÐ+ä”3�v“;Óò )ˆØ#1°!Ñ#4ˆˆn˜QÑÑ Ø&(ˆ� Ñ"Ñ#Ø&(ˆ� Ñ"Ò#ð)ð
  €KØ"$ÐØò $ˆØ�"‹9Ø×Ñ˜sÕ#ð$ð ò )ˆØ�"‹9Ø×#Ñ# CÕ(ð)ð œ#˜f›+Ñ%€HÜ�8‹_ò 4ˆØ%0°¡^ˆÐ˜qÑ!Ò"ð4ä�4˜ÓÐùò+ *ùÚ+ùÚ+s   Á9	EÂ	E"Â)	E'Ú	start_dimÚend_dimc                 óØ  — t        |t        | «      «      }t        |t        | «      «      }||k  sJ ‚t        | «      dk(  rdgS ||k(  rg }| D ]  }|j                  |«       Œ |S d}t        ||dz   «      D ]
  }|| |   z  }Œ g }t        |«      D ]  }|j                  | |   «       Œ |j                  |«       t        |dz   t        | «      «      D ]  }|j                  | |   «       Œ |S r¨   )rY   r   r   r   )rr   rZ  r[  r)   r/   Úslice_numelr   r.   s           r   Úflattenr^  ý  s  € Ü˜y¬#¨e«*Ó5€IÜ˜W¤c¨%£jÓ1€GØ˜ÒÐÐÜ
ˆ5ƒz�Q‚Øˆsˆ
Ø�GÒàˆØò 	ˆDØ�J‰J�tÕð	àˆ
Ø€KÜ�9˜g¨™kÓ*ò  ˆØ�u˜Q‘xÑ‰ð ð €EÜ�9Óò ˆØ�‰�U˜1‘XÕðà	‡L�L�ÔÜ�7˜Q‘;¤ E£
Ó+ò ˆØ�‰�U˜1‘XÕðà€Lr   c                 ó   — dt        | «      gS rÄ   r�   ©rr   s    r   Únonzero_lower_boundra    s   € ØŒs�5‹zˆ?Ðr   c                 ó.   — t        | «      t        | «      gS r"   rË   r`  s    r   Únonzero_upper_boundrc    s   € Ü�%‹Lœ#˜e›*Ð%Ð%r   Úkeepdimc                 ó°   — t        |t        | «      «      }g }t        | «      D ]0  \  }}||k(  r|sŒ|j                  d«       Œ |j                  |«       Œ2 |S rM   )rY   r   Ú	enumerater   )r(   r?   rd  r)   r   rO  s         r   Ú_reduce_along_dimrg    sV   € Ü
˜œc $›iÓ
(€CØ€CÜ  “ò !‰ˆˆ8Ø�Š8ÚØ—
‘
˜1•à�J‰J�xÕ ð!ð €Jr   c                 ó$   — |€g S t        | ||«      S r"   )rg  )r(   r?   rd  s      r   Úargmaxri  +  s   € ð €{Øˆ	Ü˜T 3¨Ó0Ð0r   c                 óº   — t        | «      dk(  sJ d«       ‚t        |«      dk(  sJ d«       ‚| d   |d   k(  sJ d«       ‚| d   |d   k(  sJ d«       ‚| d   | d   |d   gS )Nr,   zbmm only supports 3D tensorsr   zmismatching batch dimensionr+   r   z!mismatching contracting dimensionr�   r•   s     r   Úbmmrk  3  s   € Üˆt‹9˜Š>Ð9Ð9Ó9ˆ>Üˆt‹9˜Š>Ð9Ð9Ó9ˆ>Ø�‰7�d˜1‘gÒÐ<Ð<Ó<ÐØ�‰7�d˜1‘gÒÐBÐBÓBÐØ�‰G�T˜!‘W˜d 1™gÐ&Ð&r   c                 ó   — t        | «      gS r"   r�   r6   s    r   Ú_shape_as_tensorrm  ;  s   € Ü�‹Iˆ;Ðr   r  c                 óˆ   — t        | «      dk(  rg }||fS || |   k  sJ d|› d|› d| |   › �«       ‚t        | «      }|||<   ||fS )Nr   zk (z) is too big for dimension z	 of size )r   r3   )r(   r  r?   rª   s       r   Útopkro  ?  sq   € Ü
ˆ4ƒy�A‚~Øˆð �6ˆ>Ðð	 ��c‘ŠNð	Ià��Ð.¨s¨e°9¸TÀ#¹Y¸KÐHó	IØä�t“ˆØˆˆs‰Ø�6ˆ>Ðr   ÚtargetÚ	reductionc                 ó  — t        | «      }t        |«      }d|cxk  rdk  sJ ‚ J ‚|dk  sJ ‚|dk(  xr |dk(  }|s| d   |d   k(  sJ ‚| d   }g }|�t        |«      dk(  r|d   |k(  sJ ‚|dk(  r|dk(  r
| d   g}	|	|fS |}	|	|fS )Nr   r+   r   r=   r�   )
r(   rp  r±   rq  rO  Ú
target_dimÚno_batch_dimÚ	n_classesÚscalar_shapeÚreduction_shapes
             r   Únll_loss_forwardrx  K  sË   € ô �4‹y€HÜ�V“€JØˆxÔ˜1ÒÐÑÐÐØ˜Š?Ðˆ?Ø˜q‘=Ò4 Z°1¡_€LÙ˜D ™G v¨a¡yÒ0Ð1Ð1Ø�R‘€IØ €LØˆ>œc &›k¨QÒ.°6¸!±9À	Ò3IÐJÐJØ�A‚~˜( aš-Ø ™7˜)ˆð ˜LÐ(Ð(ð 'ˆØ˜LÐ(Ð(r   Únormalized_shapec                 óü   — g }t        | «      t        |«      z
  }|dk\  sJ ‚t        |«      D ]  }|j                  | |   «       Œ t        |t        | «      «      D ]  }|j                  d«       Œ t        | «      ||fS r¨   )r   r   r   r3   )rr   ry  rw  Únum_unreduced_dimensionsr   s        r   Únative_layer_normr|  _  s�   € ð "$€OÜ" 5›z¬CÐ0@Ó,AÑAÐØ# qÒ(Ð(Ð(ÜÐ+Ó,ò )ˆØ×Ñ˜u Q™xÕ(ð)äÐ+¬S°«ZÓ8ò "ˆØ×Ñ˜qÕ!ð"ä�‹<˜¨/Ð9Ð9r   c                 ó6   — |r| d   g}ndg}t        | «      ||fS rm   r5   )rr   r±   rò   r*  r+  r,  Ú_sizes          r   Únative_batch_normr  l  s*   € ñ Ø�q‘�
‰à�ˆÜ�‹<˜ Ð%Ð%r   c                 ó.   — | d   g}t        | «      ||dgfS rm   r5   )rr   r±   rò   r*  r+  r~  s         r   Ú_batch_norm_with_updater�  {  s$   € ð �1‰XˆJ€EÜ�‹<˜ ¨ sÐ*Ð*r   Úignore_indexÚlabel_smoothingc                 ó(   — t        | |||«      d   }|S rÄ   )rx  )r(   rp  r±   rq  r‚  rƒ  Úresult_shapes          r   Úcross_entropy_lossr†  †  s   € ô $ D¨&°&¸)ÓDÀQÑG€LØÐr   Úshape_compute_graph_mappingÚbounded_compute_graph_mappingÚscript_func_mapÚfuncc                 óŠ  — | t         vr³t        j                  j                  | «      }t        j                  j                  |j                  «       t        d«      D ]T  }t        j                  j                  |j                  «       t        j                  j                  |j                  «       ŒV |t         | <   t         |    S )Nr+   )
r‰  ÚtorchÚjitÚscriptÚ_CÚ_jit_pass_inlineÚgraphr   Ú_jit_pass_peepholeÚ_jit_pass_constant_propagation)rŠ  Úscripted_funcÚ_s      r   Úprocess_funcr–  «  s’   € Ø”?Ñ"ÜŸ	™	×(Ñ(¨Ó.ˆä�‰×!Ñ! -×"5Ñ"5Ô6ä�q“ò 	IˆAÜ�H‰H×'Ñ'¨×(;Ñ(;Ô<Ü�H‰H×3Ñ3°M×4GÑ4GÕHð	Ið !.Œ˜ÑÜ˜4Ñ Ð r   Úoperator_schemac                 ó(   — t        |«      t        | <   y r"   )r–  r‡  )r—  rŠ  s     r   Úadd_shape_compute_mappingr™  ¹  s   € ô 4@ÀÓ3EÔ Ò0r   Úlower_bound_funcÚupper_bound_funcc                 óB   — t        |«      t        |«      f}|t        | <   y r"   )r–  rˆ  )r—  rš  r›  Úfnss       r   Úadd_bounded_compute_mappingrž  ¿  s%   € ô Ð(Ó)¬<Ð8HÓ+IÐ
J€CØ58Ô! /Ò2r   z^aten::contiguous(Tensor(a) self, *, MemoryFormat memory_format=contiguous_format) -> Tensor(a)zFaten::rsub.Tensor(Tensor self, Scalar other, Scalar alpha=1) -> Tensorz:aten::dropout(Tensor input, float p, bool train) -> TensorzDaten::adaptive_avg_pool2d(Tensor self, int[2] output_size) -> Tensorz,prim::NumToTensor.Scalar(Scalar a) -> Tensorz(prim::NumToTensor.bool(bool a) -> Tensorzuaten::zeros(int[] size, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)z{aten::to.dtype(Tensor(a) self, int dtype, bool non_blocking=False, bool copy=False, int? memory_format=None) -> (Tensor(a))zvaten::arange(Scalar end, *, int? dtype=None, int? layout=None, Device? device=None, bool? pin_memory=None) -> (Tensor)z’aten::arange.start(Scalar start, Scalar end, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorz¤aten::arange.start_step(Scalar start, Scalar end, Scalar step, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensorz*aten::squeeze(Tensor(a) self) -> Tensor(a)z7aten::squeeze.dim(Tensor(a) self, int dim) -> Tensor(a)z:aten::squeeze.dims(Tensor(a) self, int[] dim) -> Tensor(a)z5aten::unsqueeze(Tensor(a) self, int dim) -> Tensor(a)zfaten::slice.Tensor(Tensor(a) self, int dim=0, int? start=None, int? end=None, int step=1) -> Tensor(a)zAaten::select.int(Tensor(a) self, int dim, int index) -> Tensor(a)z@aten::index_select(Tensor self, int dim, Tensor index) -> Tensorz‘aten::layer_norm(Tensor input, int[] normalized_shape, Tensor? weight=None, Tensor? bias=None, float eps=1e-05, bool cudnn_enable=True) -> TensorzIaten::softmax.int(Tensor self, int dim, ScalarType? dtype=None) -> Tensorzhaten::_no_grad_embedding_renorm_(Tensor weight, Tensor input, float max_norm, float norm_type) -> Tensorzgaten::embedding_renorm_(Tensor(a!) self, Tensor indices, float max_norm, float norm_type) -> Tensor(a!)z~aten::embedding(Tensor weight, Tensor indices, int padding_idx=-1, bool scale_grad_by_freq=False, bool sparse=False) -> Tensorz,aten::mm(Tensor self, Tensor mat2) -> Tensorz/aten::dot(Tensor self, Tensor tensor) -> Tensorz+aten::mv(Tensor self, Tensor vec) -> Tensorz1aten::matmul(Tensor self, Tensor other) -> TensorzFaten::linear(Tensor input, Tensor weight, Tensor? bias=None) -> Tensorzˆaten::max_pool2d(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> TensorzŸaten::max_pool2d_with_indices(Tensor self, int[2] kernel_size, int[2] stride=[], int[2] padding=0, int[2] dilation=1, bool ceil_mode=False) -> (Tensor, Tensor)z$aten::t(Tensor(a) self) -> Tensor(a)zDaten::transpose.int(Tensor(a) self, int dim0, int dim1) -> Tensor(a)zŠaten::conv1d(Tensor input, Tensor weight, Tensor? bias=None, int[1] stride=1, int[1] padding=0, int[1] dilation=1, int groups=1) -> TensorzŠaten::conv2d(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] dilation=1, int groups=1) -> Tensorz¯aten::batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps, bool cudnn_enabled) -> TensorzŠaten::conv3d(Tensor input, Tensor weight, Tensor? bias=None, int[3] stride=1, int[3] padding=0, int[3] dilation=1, int groups=1) -> Tensorzïaten::convolution_backward(Tensor grad_output, Tensor input, Tensor weight, int[]? bias_sizes, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool[3] output_mask) -> (Tensor, Tensor, Tensor)z¦aten::convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups) -> Tensorzðaten::_convolution(Tensor input, Tensor weight, Tensor? bias, int[] stride, int[] padding, int[] dilation, bool transposed, int[] output_padding, int groups, bool benchmark, bool deterministic, bool cudnn_enabled, bool allow_tf32) -> Tensorz³aten::conv_transpose2d.input(Tensor input, Tensor weight, Tensor? bias=None, int[2] stride=1, int[2] padding=0, int[2] output_padding=0, int groups=1, int[2] dilation=1) -> TensorzVaten::flatten.using_ints(Tensor(a) self, int start_dim=0, int end_dim=-1) -> Tensor(a)z0aten::cat(Tensor[] tensors, int dim=0) -> Tensorz2aten::stack(Tensor[] tensors, int dim=0) -> Tensorz6aten::permute(Tensor(a) self, int[] dims) -> Tensor(a)zSaten::movedim.intlist(Tensor(a) self, int[] source, int[] destination) -> Tensor(a)z3aten::view(Tensor(a) self, int[] size) -> Tensor(a)z:aten::expand_as(Tensor(a) self, Tensor other) -> Tensor(a)zMaten::expand(Tensor(a) self, int[] size, *, bool implicit=False) -> Tensor(a)zaaten::mean.dim(Tensor self, int[1]? dim, bool keepdim=False, *, ScalarType? dtype=None) -> Tensorzhaten::sum.dim_IntList(Tensor self, int[1]? dim, bool keepdim=False, *, ScalarType? dtype=None) -> TensorzZaten::max.dim(Tensor self, int dim, bool keepdim=False) -> (Tensor values, Tensor indices)z<aten::mean(Tensor self, *, ScalarType? dtype=None) -> Tensorz;aten::sum(Tensor self, *, ScalarType? dtype=None) -> Tensorz^aten::addmm(Tensor self, Tensor mat1, Tensor mat2, *, Scalar beta=1, Scalar alpha=1) -> Tensorzbaten::upsample_nearest2d.vec(Tensor input, int[]? output_size, float[]? scale_factors) -> (Tensor)z_aten::quantize_per_tensor(Tensor self, float scale, int zero_point, ScalarType dtype) -> Tensorzraten::quantize_per_tensor.tensor_qparams(Tensor self, Tensor scale, Tensor zero_point, ScalarType dtype) -> Tensorz'aten::dequantize(Tensor self) -> TensorzNquantized::add(Tensor qa, Tensor qb, float scale, int zero_point) -> Tensor qczFaten::argmax(Tensor self, int? dim=None, bool keepdim=False) -> Tensorz-aten::bmm(Tensor self, Tensor mat2) -> Tensorz-aten::_shape_as_tensor(Tensor self) -> Tensorzraten::topk(Tensor self, int k, int dim=-1, bool largest=True, bool sorted=True) -> (Tensor values, Tensor indices)z‹aten::nll_loss_forward(Tensor self, Tensor target, Tensor? weight, int reduction, int ignore_index) -> (Tensor output, Tensor total_weight)z‚aten::native_layer_norm(Tensor input, int[] normalized_shape, Tensor? weight, Tensor? bias, float eps) -> (Tensor, Tensor, Tensor)z´aten::native_batch_norm(Tensor input, Tensor? weight, Tensor? bias, Tensor? running_mean, Tensor? running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)z¹aten::_native_batch_norm_legit(Tensor input, Tensor? weight, Tensor? bias, Tensor running_mean, Tensor running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)zÂaten::_native_batch_norm_legit.no_stats(Tensor input, Tensor? weight, Tensor? bias, Tensor running_mean, Tensor running_var, bool training, float momentum, float eps) -> (Tensor, Tensor, Tensor)z³_batch_norm_with_update(Tensor input, Tensor? weight, Tensor? bias, Tensor(a!) running_mean, Tensor(b!) running_var, float momentum, float eps) -> (Tensor, Tensor, Tensor, Tensor)zœaten::cross_entropy_loss(Tensor self, Tensor target, Tensor? weight=None, int reduction=Mean, SymInt ignore_index=-100, float label_smoothing=0.0) -> TensorzCaten::lerp.Tensor(Tensor self, Tensor end, Tensor weight) -> TensorzMaten::where.ScalarSelf(Tensor condition, Scalar self, Tensor other) -> TensorzQaten::add_.Tensor(Tensor(a!) self, Tensor other, *, Scalar alpha=1) -> Tensor(a!)z&aten::nonzero(Tensor self) -> (Tensor))r=   FF)NNNNr   N)T)NF)r=   )Nr   iœÿÿÿg        )ir@  Útypingr   r   r   r   r   r   r	   r‘   ÚfloatÚnumberrŒ  rX   r   r%   r'   r0   r3   r7   r:   rB   rE   rK   rF   rP   ÚboolrS   r^   r`   rd   ro   rq   rƒ   r‹   r�   r’   r–   r™   r�   r¡   r£   r¦   r«   r°   r·   r¹   rÁ   rÅ   rÉ   rÌ   rÓ   r×   rÛ   rÝ   ré   rì   rñ   rô   rù   rþ   r  r  r  r  r  r  r#  r)  r0  r3  rY   r9  r®   rB  rD  rF  rK  rY  r^  ra  rc  rg  ri  rk  rm  Útuplero  rx  r|  r  r�  r†  r�  ÚScriptFunctionÚScriptFnr‡  ÚdictÚstrÚ__annotations__rˆ  r‰  r–  r™  rž  rN   r   r   ú<module>r©     sÞ  ðä ß D× DÑ Dð 
ˆs�EˆzÑ	€ó$ ð��c‘ð ˜t C™yó ð0)�t˜C‘yð ) T¨#¡Yð )°4¸±9ó )ð˜4 ™9ð ¨ð °°c±ó ð˜d 3™ið ¨d°3©ió ð��S‘	ó ð��S‘	ó ð˜˜c™ð  t¨C¡yó ð(��c‘ð  4¨¡9ó ð,˜D ™Ið ¨d°3©ið ¸só ð˜4 ™9ð ¨Sð °T¸#±Yó ð.��c‘ó ð/ˆt�C‰yð /  c¡ó /ð LQò ˜$˜s™)ð ¨D°©Ið ÀDó ðØ
ˆs‰)ðØ'¨¨S©	Ñ2ðØ>BðØHKóð,�$�s‘)ð  #ð °ó ðˆsð �só ðØðàðð ðð ð	ð
 ðð ðð óð6Øðàðð ðð ð	ð
 ðð óð2Ø�‰9ð2àð2ð 	ð2ð 	ð	2ð
 	ð2ð ð2ð ð2ð ð2ð ð2ð ð2ð ð2ð ð2ð ð2ð ó2ðDC@Ø�‰9ðC@à�c‘ðC@ð �‰IðC@ð �#‰Yð	C@ð
 �3‰iðC@ð óC@ðL	Ø�‰9ð	à�c‘ð	ð �‰Ið	ð �#‰Yð		ð
 �3‰ið	ð ó	ðØ�‰9ðà˜$˜s™)Ñ$ðð ˜D ™KÑ(óð>ˆT�#‰Yð ˜d 3™ió ðˆd�3‰ið   c¡ó ðˆT�#‰Yð ˜T #™Yó ð�$�s‘)ð  #ó ð�d˜3‘ió ð	��S‘	ð 	 ó 	ð�T˜#‘Yð  d¨3¡ió ð �t˜C‘yð  sð °4¸±9ó ð" Ø$ØòØ�‰Iðà�#‰Yðð ðð ð	ð
 óòðØ
ˆs‰)ðØðØ&.¨s¡mðØ:BÀ3¹-ðØORóð: 4¨¨S©	¡?ó ð
˜Sð °°T¸#±Y±ó ð3˜˜S™	ó 3ð
AØ�‰9ð
AØ" 3™ið
AØ47ð
AØ@Có
Að��d˜3‘i‘ð  só ð0(�4˜˜S™	‘?ð (¨ó (ð��c‘ð  ð ¨Só ð&I�D˜‘Ið &I¨¨S©	ó &IðR	"ˆD�‰Ió 	"ð�D˜‘Ið  Sð °ó ð"�$�s‘)ð  T¨#¡Yð °h¸tÀC¹yÑ6Ió ð+��S‘	ð +  c¡ð +°$°s±)ð +À3ð +Èsó +ð˜d 3™ið ¨Dó ð
Ø�‰9ð
à�s‘)ð
ð �4˜‘9Ñ
ð
ð �‰Ið	
ð
 �#‰Yð
ð �3‰ið
ð ó
ð>Ø�S‘	ðà�c‘ðð �4˜‘9Ñ
ðð �‰Ið	ð
 �#‰Yðð �3‰iðð óð<TØ�‰9ðTà�‰IðTð �4˜‘9Ñ
ðTð �‰Ið	Tð
 �#‰YðTð �3‰iðTð óTðTØ�‰9ðTà�‰IðTð �4˜‘9Ñ
ðTð �‰Ið	Tð
 �#‰YðTð �3‰iðTð óTð9Ø�c‘ð9à�‰9ð9ð �‰Ið9ð �T˜#‘YÑó	9ð !%Ø"&Ø#'Ø*.ØØ$(ò$Ø�‰9ð$à�‰Ið$ð �4˜‘9Ñ
ð$ð �T˜#‘YÑð	$ð
 �d˜3‘iÑ ð$ð ˜T #™YÑ'ð$ð ð$ð �t˜C‘yÑ!ð$ð 
ˆ#�Yó$ðN(Ø�‰9ð(à�‰Ið(ð �4˜‘9Ñ
ð(ð �‰Ið	(ð
 �#‰Yð(ð �3‰ið(ð ð(ð ˜‘Ið(ð ð(ð 
ˆ#�Yó(ðVØ�‰9ðà�‰Iðð �4˜‘9Ñ
ðð �‰Ið	ð
 �#‰Yðð �3‰iðð ðð ˜‘Iðð ðð ðð ðð ðð ðð 
ˆ#�Yóð8Ø�‰9ðà�T˜#‘YÑðð �4˜‘9Ñ
ðð ˜4 ™9Ñ%ð	ð
 ˜$˜s™)Ñ$ðð ðð ðð 
ðð óð"TØ�‰9ðTà�‰IðTð �4˜‘9Ñ
ðTð �‰Ið	Tð
 �#‰YðTð �3‰iðTð óTò	˜ð 	¨Cð 	¸dó 	ð˜3ó ð
˜$˜s™)ó ð!�Fð ! #ð !¨Sð !¸ð !À3ó !ð
)Øð)Øð)Ø&)ð)Ø14ð)Ø<?ð)ØGJó)ð2Øð2Øð2Ø&,ð2Ø47ð2Ø?Bð2ØJMð2ØUXó2ð�4˜‘9ð  D¨¡Ió ð �$�s‘)ð   T¨#¡Yð  ¸TÀ#¹Yð  È4ÐPSÉ9ó  ðB�4˜‘9ð ¨ð °só ð4˜t C™yó ð&˜t C™yó &ð	˜D ™Ið 	¨Cð 	¸$ó 	ð AFò1Ø
ˆs‰)ð1Ø" 3™-ð1Ø9=ð1à	ˆ#�Yó1ð'ˆd�3‰ið '˜t C™yð '¨T°#©Yó 'ð˜4 ™9ð ¨¨c©ó ò	ˆt�C‰yð 	˜Sð 	 sð 	°E¸$¸s¹)ÀTÈ#ÁYÐ:NÑ4Oó 	ð)Ø
ˆs‰)ð)Ø! #™Yð)Ø08¸¸c¹Ñ0Cð)ØPSð)à
ˆ4�‰9�d˜3‘iÐÑ ó)ð(
:Ø�‰9ð
:Ø(,¨S©	ð
:à
ˆ4�‰9�d˜3‘i  c¡Ð*Ñ+ó
:ð&Ø�‰9ð&à�T˜#‘YÑð&ð �4˜‘9Ñ
ð&ð ˜4 ™9Ñ%ð	&ð
 ˜$˜s™)Ñ$ð&ð ð&ð ˆ4�‰9�d˜3‘i  c¡Ð*Ñ+ó&ð+Ø�‰9ð+à�T˜#‘YÑð+ð �4˜‘9Ñ
ð+ð ˜4 ™9Ñ%ð	+ð
 ˜$˜s™)Ñ$ð+ð ˆ4�‰9�d˜3‘i  c¡¨D°©IÐ5Ñ6ó+ð #'ØØØ ò	Ø
ˆs‰)ð	à�‰Ið	ð �T˜#‘YÑð	ð ð		ð
 ð	ð ð	ð 
ˆ#�Yó	ðð& �8‰8×"Ñ"€Ø35Ð ˜T # x -Ñ0Ó 5ØFHÐ ˜t C¨¨x¸Ð/AÑ)BÐ$BÑCÓ HØ,.€��h Ð(Ñ)Ó .ð!�xó !ðF¨sð F¸(ó Fð9Øð9Ø,4ð9ØHPó9ñ ØdØ	ôñ ØLÈeôñ Ø@À%ôñ ØJØôñ Ø2°Oôñ ÐDÀoÔ VÙ Ø{Ø	ôñ ð BØ	ôñ Ø|Øôñ ð YØôñ ð kØôñ ÐFÈÔ VÙ Ø=¸wôñ Ø@À,ôñ Ø;¸Yôñ ØlØ	ôñ ØGÈôñ ØFÈôñ ð9à	ôñ
 ØOÐQVôñ ØnØ	ôñ ØmØ	ôñ ð EØôñ ÐHÈ"Ô MÙ ÐKÈSÔ QÙ ÐGÈÔ LÙ ÐMÈvÔ VÙ ØLÈfôñ ð OØôñ ð fØôñ Ð@À!Ô DÙ ØJÈIôñ ð QØ
ôñ ð QØ
ôñ ð vØôñ ð QØ
ôñ ð vØôñ ð mØôñ ð wØôñ ð zØôñ Ø\Øôñ ÐLÈcÔ RÙ ÐNÐPUÔ VÙ Ø<¸gôñ ØYØôñ ÐOÐQUÔ VÙ Ø@À&ôñ ØSØôñ ØgØôñ ØnØôñ Ø`Øôñ ØBÀOôñ ØAÀ?ôñ ØdØ	ôñ ØhØôñ ØeØ	ôñ ØxØ	ôñ ÐCÀUÔ KÙ ØTØôñ ØLÈfôñ ÐIÈ3Ô OÙ Ù3Ð5Eôñ ÙxØôñ ñ RØôñ ñ IØôñ ñ {Øôñ ñ @Øôñ ñ IØôñ ñ zØôñ
 ñ cØôñ ÙIØôñ ÙSØôñ ÙWØôñ Ù,Ð.AÐCVõr   