Ë
    [^(h4’  ã                  óð  — d dl mZ d dlZd dlZd dlZd dlmZ d dlZd dlm	c m
Z d dlZd dlm	Z	 d dlmZ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 g d	¢Z ej6                  ej8                  d
¬«      Z ed«      dŒd„«       Z ej>                  ddd«      dŒd„«       Z  ed«      dŒd„«       Z! ed«       ej>                  dddd«      d�dŒd„«       «       Z" ed«       ej>                  dddddd«      d�dŒd„«       «       Z#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dŽd„Z$	 	 	 	 	 	 	 	 	 	 	 	 d�d„Z%	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d�d„Z& ed ejN                  ddd¬ «      g¬!«       ed" ejN                  d#d$d¬ «      g¬!«       ed% ejN                  d&d'd¬ «      g¬!«       ed( ejN                  d)dd*¬ «      g¬!«       ed+ ejN                  d,d$d*¬ «      g¬!«       ed- ejN                  d.d'd*¬ «      g¬!«      d‘d/„«       «       «       «       «       «       Z(	 	 	 	 	 	 	 	 	 	 d’d0„Z) ed1 ejN                  d2d«      g¬!«       ed3 ejN                  d4d$«      g¬!«       ed5 ejN                  d6d'«      g¬!«      d7„ «       «       «       Z* ed8 ejN                  d9d'd:«      g¬!«       ed; ejN                  d<d=d:«      g¬!«       ed> ejN                  d?d@d:«      g¬!«       edA ejN                  dBd'dC«      g¬!«       edD ejN                  dEd=dC«      g¬!«       edF ejN                  dGd@dC«      g¬!«      dH„ «       «       «       «       «       «       Z+ edI«      	 	 dŒdJ„«       Z,	 d�	 	 	 	 	 	 	 	 	 	 	 d“dK„Z- edL«      dŒdM„«       Z. edN«       ej>                  ddO«      dŒdP„«       «       Z/ edQ«      dŒdR„«       Z0 edS«       ej>                  ddddddddd«	      	 	 dŒdT„«       «       Z1 edU«       ej>                  ddddd«      	 	 d”	 dŒdV„«       «       Z2 edW«      dŒdX„«       Z3 edY«      dŒdZ„«       Z4 ed[«      dŒd\„«       Z5 ed]«      dŒd^„«       Z6 ed_«       ej>                  dd`d`d`«      dŒda„«       «       Z7 edb«      	 	 dŒdc„«       Z8 edd«      	 	 dŒde„«       Z9 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„«       ZA edv«       ej>                  dddd`dd«      	 	 dŒdw„«       «       ZB edx«      	 	 dŒdy„«       ZC edz«      	 	 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j>                  dddd«      	 	 	 	 	 	 	 	 	 	 	 	 d•d‹„«       «       ZLy)–é    )ÚannotationsN)ÚTYPE_CHECKING)Ú_C)Ú
_constantsÚ_type_utilsÚerrorsÚsymbolic_helperÚsymbolic_opset9)ÚGLOBALS)Ú	jit_utilsÚregistration)ÚSequence)"Ú
dequantizeÚdivÚembedding_bagÚfake_quantize_per_tensor_affineÚflipÚfmodÚisfiniteÚisinfÚ
nan_to_numÚquantize_per_tensorÚquantized_add_reluÚquantized_addÚquantized_catÚquantized_conv1d_reluÚquantized_conv2d_reluÚquantized_conv3d_reluÚquantized_conv1dÚquantized_conv2dÚquantized_conv3dÚquantized_conv_transpose1dÚquantized_conv_transpose2dÚquantized_conv_transpose3dÚquantized_group_normÚquantized_hardswishÚquantized_instance_normÚquantized_layer_normÚquantized_leaky_reluÚquantized_linearÚquantized_linear_reluÚquantized_mulÚquantized_sigmoidÚsliceÚsortÚtopké
   )Úopsetz	aten::divc                óh   — t        |«      dk(  rt        j                  | ||«      S t        | ||g|¢­Ž S ©Nr   )ÚlenÚopset9Útrue_divideÚ_div_rounding_mode)ÚgÚselfÚotherÚargss       úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/onnx/symbolic_opset10.pyr   r   P   s6   € ä
ˆ4ƒy�A‚~Ü×!Ñ! ! T¨5Ó1Ð1ä! ! T¨5Ð8°4Ò8Ð8ó    ÚvÚsc                óV   — |dk(  rt        | ||«      S t        j                  | |||«      S )NÚfloor)Ú_floor_divider6   r8   )r9   r:   r;   Úrounding_modes       r=   r8   r8   X   s0   € à˜ÒÜ˜Q  eÓ,Ð,ä×(Ñ(¨¨D°%¸ÓGÐGr>   zaten::_floor_dividec                óð  — t        j                  |«      st        j                  |«      r)t        j                  | ||«      }| j	                  d|«      S | j	                  d||«      }| j	                  dt        j                  dt
        j                  ¬«      ¬«      }| j	                  d| j	                  d||«      | j	                  d||«      «      }| j	                  d	||d¬
«      }| j	                  d|| j	                  d| j	                  d||«      «      «      }| j	                  dt        j                  dt
        j                  ¬«      ¬«      }	| j	                  d||	«      }
| j	                  d||
|«      S )NÚFloorÚDivÚConstantr   ©Údtype©Úvalue_tÚXorÚLessÚMod©Úfmod_iÚAndÚNotÚEqualé   ÚSubÚWhere)r	   Ú_is_fpr6   r7   ÚopÚtorchÚtensorÚint64)r9   r:   r;   Úoutr   ÚzeroÚnegativeÚmodÚ
fixup_maskÚoneÚfixups              r=   rC   rC   `   s-  € ä×Ñ˜dÔ#¤×'=Ñ'=¸eÔ'DÜ× Ñ   D¨%Ó0ˆØ�t‰t�G˜SÓ!Ð!ð �d‰d�5˜$ Ó&ˆà�t‰t�J¬¯©°Q¼e¿k¹kÔ(JˆtÓKˆØ—4‘4˜˜qŸt™t F¨D°$Ó7¸¿¹¸fÀeÈTÓ9RÓSˆð �d‰d�5˜$ ¨aˆdÓ0ˆØ—T‘T˜% ¨1¯4©4°°q·t±t¸GÀSÈ$Ó7OÓ+PÓQˆ
à�d‰d�:¤u§|¡|°A¼U¿[¹[Ô'IˆdÓJˆØ—‘�U˜C Ó%ˆØ�t‰t�G˜Z¨°Ó4Ð4r>   z
aten::sortÚiÚnonec                ó6   — t        j                  | ||||¬«      S )N)Ú	decendingr]   )r	   Ú_sort_helper)r9   r:   Údimrg   r]   s        r=   r/   r/   u   s   € ô ×'Ñ'¨¨4°À	ÈsÔSÐSr>   z
aten::topkc           	     ó:   — t        j                  | ||||||¬«      S )N)ÚlargestÚsortedr]   )r	   Ú_topk_helper)r9   r:   Úkri   rk   rl   r]   s          r=   r0   r0   {   s&   € ô ×'Ñ'Ø	ˆ4��C °¸Sôð r>   c                ó¶  — | j                  d| j                  d|«      «      }||k(  rH| j                  d|| j                  dt        j                  dgt        j                  ¬«      ¬«      «      }| j                  d|d	|||||¬
«      \  }	}
||k(  rH| j                  d|	| j                  dt        j                  dgt        j                  ¬«      ¬«      «      }	|	S )NÚSizeÚShapeÚ	UnsqueezerH   r   rI   rK   ÚMaxPoolé   ©ÚoutputsÚceil_mode_iÚdilations_iÚkernel_shape_iÚpads_iÚ	strides_iÚSqueeze©rY   rZ   r[   r\   )r9   r:   Úkernel_shapeÚstridesÚpadsÚ	dilationsÚ	ceil_modeÚunbatched_rankÚ	self_rankÚpool_resultÚ_s              r=   Ú_aten_max_pool_onnxr‡   ƒ   sÔ   € ð —‘�V˜QŸT™T '¨4Ó0Ó1€IØ�NÒ"Ø�t‰tØØØ�D‰D�¤U§\¡\°1°#¼U¿[¹[Ô%IˆDÓJó
ˆð —T‘TØØØØØØ#ØØð ó 	�N€K�ð �NÒ"Ø—d‘dØØØ�D‰D�¤U§\¡\°1°#¼U¿[¹[Ô%IˆDÓJó
ˆð Ðr>   c                ó^  — t        |t        «      r|g| z  }t        |t        «      r|g| z  }n|}t        |t        «      r
|g| z  dz  }nAt        |«      dk(  r	|| z  dz  }n*t        |«      dk(  r|dz  }nt        |«      dk(  r|dz  }n|}t        |t        «      r|g| z  }n|s|}n|}||||fS )ú:Adjust attributes of avg_pool to match ONNX specification.rt   rU   é   ©Ú
isinstanceÚintr5   )Úexpand_sizeÚkernel_sizeÚstrideÚpaddingÚdilationr~   r€   r   s           r=   Ú_adjust_attributes_of_max_poolr“   «   sÎ   € ô �(œCÔ Ø�: Ñ+ˆä�+œsÔ#Ø#�} {Ñ2‰à"ˆä�'œ3ÔØˆy˜;Ñ&¨Ñ*‰Ü	ˆW‹˜Ò	Ø˜Ñ$ qÑ(‰Ü	ˆW‹˜Ò	à˜‰{‰Ü	ˆW‹˜Ò	à˜‰{‰ð
 ˆä�&œ#ÔØ�(˜[Ñ(‰ÙØ‰àˆà˜' 4¨Ð2Ð2r>   c                ór  — | j                  d| j                  d|«      «      }||k(  rH| j                  d|| j                  dt        j                  dgt        j                  ¬«      ¬«      «      }| j                  d|d	|||||¬
«      \  }}| j                  d|d	|||¬«      \  }}| j                  dt        j                  |«      ¬«      }| j                  dt        j                  |	«      ¬«      }| j                  dt        j                  |
«      ¬«      }| j                  d||||«      }| j                  d||«      }||k(  rp| j                  d|t        j                  dgt        j                  ¬«      ¬«      }| j                  d|t        j                  dgt        j                  ¬«      ¬«      }||fS )Nrp   rq   rr   rH   r   rI   rK   rs   rt   ru   )rv   rx   ry   r{   ÚSlicerV   r|   r}   )r9   r:   r~   r   r€   r�   r‚   rƒ   Ú
n_dims_oneÚn_dims_zeroÚn_dims_axesr„   r…   Úindicesr†   Úflatten_indicesÚendsÚstartsÚaxesÚdeltas                       r=   Ú _aten_max_pool_with_indices_onnxrŸ   Ö   sš  € ð —‘�V˜QŸT™T '¨4Ó0Ó1€IØ�NÒ"Ø�t‰tØØØ�D‰D�¤U§\¡\°1°#¼U¿[¹[Ô%IˆDÓJó
ˆð Ÿ4™4ØØØØØØ#ØØð  ó 	Ñ€K�ð Ÿ™ØØØØØ!Øð ó Ñ€A€ð �4‰4�
¤E§L¡L°Ó$<ˆ4Ó=€DØ�T‰T�*¤e§l¡l°;Ó&?ˆTÓ@€FØ�4‰4�
¤E§L¡L°Ó$=ˆ4Ó>€Dà�D‰D�˜/¨6°4¸Ó>€EØ�d‰d�5˜' 5Ó)€Gà�NÒ"Ø—d‘dØ�{¬E¯L©L¸!¸ÄEÇKÁKÔ,Pð ó 
ˆð —$‘$�y '´5·<±<ÀÀÌ5Ï;É;Ô3W�$ÓXˆà˜Ð!Ð!r>   zaten::max_pool1dÚ
max_pool1drU   F)Úreturn_indices)Údecoratezaten::max_pool2dÚ
max_pool2drt   zaten::max_pool3dÚ
max_pool3drŠ   zaten::max_pool1d_with_indicesÚmax_pool1d_with_indicesTzaten::max_pool2d_with_indicesÚmax_pool2d_with_indiceszaten::max_pool3d_with_indicesÚmax_pool3d_with_indicesc           	     ó¨   ‡‡— t        j                  dddddd«      t        j                  dddddd«      	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆˆfd„«       «       }|S )NTFr?   Úisrd   c                óØ   •— t        ‰||||«      \  }}}	}
‰r:t        | ||||	|
|‰dz   dg‰z  dg‰z  t        ‰«      D �cg c]  }d|z   ‘Œ	 c}«      S t        | ||||	|
|‰dz   «      S c c}w )NrU   r   rt   )r“   rŸ   Úranger‡   )r9   Úinputr�   r�   r‘   r’   r‚   r~   r   r€   r�   rd   rŽ   r¡   s               €€r=   Úsymbolic_fnz_max_pool.<locals>.symbolic_fn9  s­   ø€ ô 2PØ˜ f¨g°xó2
Ñ.ˆ�g˜t Yñ Ü3ØØØØØØØØ˜a‘Ø��{Ñ"Ø��{Ñ"Ü!& {Ó!3Ö4˜A�!�a“%Ò4óð ô 'ØØØØØØØØ˜a‘ó	ð 	ùò 5s   ¿A')r9   újit_utils.GraphContextr¬   ú_C.Valuer�   úSequence[int]r�   r°   r‘   úint | Sequence[int]r’   r°   r‚   Úbool©r	   Úquantized_argsÚ
parse_args)ÚnamerŽ   r¡   r­   s    `` r=   Ú	_max_poolr·     s—   ù€ ôV ×#Ñ# D¨%°¸¸uÀeÓLÜ×Ñ  T¨4°°t¸SÓAð%Ø!ð%àð%ð #ð%ð ð	%ð
 %ð%ð  ð%ð õ%ó Bó Mð%ðN Ðr>   c                ó  — t        |t        «      r|g| z  }n|}t        |t        «      r
|g| z  dz  }n0t        |«      dk(  r	|| z  dz  }nt        |«      dk(  r|| z  }n|dz  }t        |t        «      r|g| z  }n|s|}n|}|||fS )r‰   rt   rU   r‹   )rŽ   r�   r�   r‘   r~   r€   r   s          r=   Ú_adjust_attributes_of_avg_poolr¹   f  s¤   € ô �+œsÔ#Ø#�} {Ñ2‰à"ˆä�'œ3ÔØˆy˜;Ñ&¨Ñ*‰Ü	ˆW‹˜Ò	Ø˜Ñ$ qÑ(‰Ü	ˆW‹˜Ò	Ø˜Ñ$‰à˜‰{ˆä�&œ#ÔØ�(˜[Ñ(‰ÙØ‰àˆà˜' 4Ð(Ð(r>   zaten::avg_pool1dÚ
avg_pool1dzaten::avg_pool2dÚ
avg_pool2dzaten::avg_pool3dÚ
avg_pool3dc           
     ó¦   ‡— t        j                  ddddddd«      t        j                  ddddddd«      	 d	 	 	 	 	 	 	 	 	 	 	 d	ˆfd„«       «       }|S )
NTFr?   r©   rd   re   c           	     ó\   •— t        ‰|||«      \  }}	}
| j                  d|||||
|	¬«      }|S )NÚAveragePool)rw   Úcount_include_pad_iry   rz   r{   )r¹   rY   )r9   r¬   r�   r�   r‘   r‚   Úcount_include_padÚdivisor_overrider~   r   r€   ÚresultrŽ   s               €r=   r­   z_avg_pool.<locals>.symbolic_fn“  sQ   ø€ ô 'EØ˜ f¨gó'
Ñ#ˆ�g˜tð —‘ØØØ!Ø 1Ø'ØØð ó 
ˆð ˆr>   ©N)r¬   r¯   r�   r°   r�   r°   r‘   r±   r‚   r�   rÁ   r�   r³   )r¶   rŽ   r­   s    ` r=   Ú	_avg_poolrÅ   †  s–   ø€ ô ×#Ñ# D¨%°¸¸uÀeÈUÓSÜ×Ñ  T¨4°°s¸CÀÓHð ðàðð #ðð ð	ð
 %ðð ðð ôó Ió Tðð4 Ðr>   zaten::upsample_nearest1dÚupsample_nearest1dÚnearestzaten::upsample_nearest2dÚupsample_nearest2dé   zaten::upsample_nearest3dÚupsample_nearest3dé   zaten::upsample_linear1dÚupsample_linear1dÚlinearzaten::upsample_bilinear2dÚupsample_bilinear2dzaten::upsample_trilinear3dÚupsample_trilinear3dc                óN   ‡ ‡‡— t        j                  ddd«      ˆˆˆ fd„«       }|S )NTFc                ó  •— t        j                  | ‰|«      \  }}t        j                  ‰«       t        j                  |«      }|rt        j                  ‰d|«      S |€t        j
                  | ||‰«      }| j                  d||‰¬«      S )Nzalign_corners == TrueÚResize©Úmode_s)r	   Ú_get_interpolate_attributesÚ_interpolate_warningÚ_maybe_get_scalarÚ_unimplementedÚ_interpolate_size_to_scalesrY   )	r9   r¬   Úoutput_sizer<   ÚscalesÚalign_cornersri   Úinterpolate_moder¶   s	         €€€r=   r­   z!_interpolate.<locals>.symbolic_fnË  s“   ø€ ä /× KÑ KØÐ ó!
Ñˆ�ô 	×,Ñ,Ð-=Ô>Ü'×9Ñ9¸-ÓHˆÙÜ"×1Ñ1°$Ð8OÐQVÓWÐWØˆ>Ü$×@Ñ@Ø�5˜+ sóˆFð �t‰t�H˜e VÐ4DˆtÓEÐEr>   )r	   r´   )r¶   ri   rÝ   r­   s   ``` r=   Ú_interpolaterÞ   ²  s0   ú€ ô2 ×#Ñ# D¨%°Ó7õFó 8ðFð Ðr>   zaten::__interpolatec                óf   — t        j                  | |||||«      \  }}| j                  d|||¬«      S )NrÒ   rÓ   )r	   Ú _interpolate_get_scales_and_moderY   )	r9   r¬   ÚsizeÚscale_factorÚmoderÜ   Úrecompute_scale_factorÚ	antialiasrÛ   s	            r=   Ú__interpolateræ   Ý  s>   € ô #×CÑCØ	ˆ5�$˜ d¨Mó�L€FˆDð �4‰4�˜% °ˆ4Ó5Ð5r>   c                óH  ‡ ‡— d„ Šdˆ ˆfd„	}d„ } ||«      dk(  r( ||«      t         j                  k(  r|� ||«      dk(  r|S  ||«      } ||d¬«      } ||t         j                  ¬«      }|€‰ j                  d||||«      S  ||d¬«      }‰ j                  d|||||«      S )	Nc                óê   — | €yt        | t        j                  j                  «      xrK | j	                  «       j                  «       dk(  xr( t        | j                  «       t        j                  «      S )NTzprim::Constant)rŒ   rZ   r   ÚValueÚnodeÚkindÚtypeÚNoneType)Úvalues    r=   Úis_none_valuez_slice.<locals>.is_none_valueö  sW   € Øˆ=Øä�uœeŸh™hŸn™nÓ-ò 6Ø—
‘
“×!Ñ!Ó#Ð'7Ñ7ò6ä˜5Ÿ:™:›<¬¯©Ó5ð	
r>   c                óN  •—  ‰| «      r|�|g} t        | t        t        j                  f«      r&‰j	                  dt        j
                  | «      ¬«      S t        j                  | «      }|dk(  rt        j                  ‰| dg«      S |dk(  r| S t        j                  d|› �| «      ‚)NrH   rK   r   rU   zRank must be 0 or 1, not )rŒ   ÚlistrZ   ÚTensorrY   r[   r	   Ú_get_tensor_rankÚ_unsqueeze_helperr   ÚSymbolicValueError)Úlist_or_valueÚdefault_valueÚrankr9   rï   s      €€r=   Úto_slice_inputz_slice.<locals>.to_slice_inputÿ  s    ø€ á˜Ô'¨MÐ,EØ*˜OˆMä�m¤d¬E¯L©LÐ%9Ô:Ø—4‘4˜
¬E¯L©L¸Ó,G�4ÓHÐHä×/Ñ/°Ó>ˆØ�1Š9Ü"×4Ñ4°Q¸ÈÀsÓKÐKØ�1Š9Ø Ð Ü×'Ñ'Ø'¨ vÐ.°ó
ð 	
r>   c                ó–   — t        | t        t        j                  f«      rt	        | «      dk(  r| d   S y t        j                  | d«      S )NrU   r   rd   )rŒ   rñ   rZ   rò   r5   r	   Ú_maybe_get_const)rö   s    r=   Úget_const_valuez_slice.<locals>.get_const_value  sC   € Ü�m¤d¬E¯L©LÐ%9Ô:Ü�=Ó! QÒ&Ø$ QÑ'Ð'ØÜ×/Ñ/°¸sÓCÐCr>   r   rU   )r÷   r•   rÄ   )r   Ú	INT64_MAXrY   )	r9   r¬   r�   rœ   r›   Ústepsrù   rü   rï   s	   `       @r=   Ú_slicerÿ   î  s´   ù€ ò
ö
ò"Dñ 	˜Ó 1Ò$Ù˜DÓ!¤Z×%9Ñ%9Ò9Øˆ]™o¨eÓ4¸Ò9àˆá˜$Ó€DÙ˜F°!Ô4€FÙ˜$¬j×.BÑ.BÔC€DØ€}Ø�t‰t�G˜U F¨D°$Ó7Ð7Ù˜5°Ô2€EØ�4‰4�˜ ¨¨d°EÓ:Ð:r>   zaten::slicec                óÀ   — t        |«      dk(  r|\  }}}}n.t        |«      dk(  r
|\  }}}dg}nt        j                  d|«      ‚t        j                  | |||||¬«      S )NrÉ   rŠ   r   zUnknown aten::slice signature©r�   rœ   r›   rþ   )r5   r   rõ   r	   Ú_slice_helper)r9   r:   r<   ÚdimsÚstartÚendÚsteps          r=   r.   r.   (  sr   € ä
ˆ4ƒy�A‚~à!%Ñˆˆe�S™$Ü	ˆT‹�aŠàÑˆˆs�DØˆs‰ä×'Ñ'Ð(GÈÓNÐNä×(Ñ(Ø	ØØØØØôð r>   z
aten::flipr©   c                ó¤   — t        j                  | ||dgt        |«      z  t        j                   gt        |«      z  dgt        |«      z  ¬«      S )Néÿÿÿÿr  )r	   r  r5   r   rý   )r9   r¬   r  s      r=   r   r   >  sT   € ô ×(Ñ(Ø	ØØØˆt”c˜$“iÑÜ×#Ñ#Ð#Ð$¤s¨4£yÑ0Øˆd”S˜“YÑôð r>   z
aten::fmodc                ó,   — | j                  d||d¬«      S )NrO   rU   rP   )rY   )r9   r¬   r;   s      r=   r   r   K  s   € à�4‰4��u˜e¨Aˆ4Ó.Ð.r>   zaten::embedding_bagc
                ó   — |r%t         j                  rt        j                  d«      S |	�|	dk\  rt	        d«      ‚t        j                  d«       t        j                  |d«      }
|
��S|r|
dz
  }|}nO|
}|| j                  dt        j                  t        j                  g«      ¬«      g} | j                  dg|¢­d	diŽ}g }t        |«      D �]Í  }t        j                  | t        j                   | |t        j                  d«      t        j                  |«      «      dg«      }t        j                  | t        j                   | |t        j                  d«      t        j                  |dz   «      «      dg«      }| j                  dt        j                  dg«      ¬«      }| j                  d
||||«      }| j                  d||«      }t        j"                  |«      s@| j                  d
||||«      }t        j                  | |dg«      }| j                  d||«      }|dk(  rt        j$                  | |dgd¬«      }n2|dk(  r| j                  d|dgd¬«      }n| j                  d|dgd¬«      }t        j                  | |dg«      }|j'                  |«       �ŒÐ  | j                  dg|¢­d	diŽ}|d d d fS t        j                  d«      S )Nz7embedding_bag with scale_grad_by_freq for training moder   zembedding_bag with padding_idxzžExport of embedding_bag with dynamic input/offsets shape is not supported in opset 10. Please use opset 11 or higher to export model for dynamic input shape.'rU   rH   rK   ÚConcatÚaxis_ir•   ÚGatherÚMul)Úaxes_iÚ
keepdims_iÚ
ReduceMeanÚ	ReduceMaxziembedding_bag with unknown shape of offsets for opset 10 is not supported. please use opset 11 or higher.)r   Úexport_trainingr	   Ú_onnx_unsupportedÚRuntimeErrorÚwarningsÚwarnÚ_get_tensor_dim_sizerY   rZ   r[   ÚsysÚmaxsizer«   rô   r6   ÚselectÚ_is_noneÚ_reducesum_helperÚappend)r9   Úembedding_matrixr™   ÚoffsetsÚscale_grad_by_freqrã   ÚsparseÚper_sample_weightsÚinclude_last_offsetÚpadding_idxÚoffsets_dim_0Ú
offset_lenÚoffsets_extendedÚlist_rd   Ústart_Úend_Úaxes_Úindices_rowÚ
embeddingsÚper_sample_weights_rowÚoutputs                         r=   r   r   P  sÒ  € ñ œg×5Ò5Ü×0Ñ0ØEó
ð 	
ð Ð ;°!Ò#3ÜÐ;Ó<Ð<ä‡M�Mð	Rôô $×8Ñ8¸À!ÓD€MØÑ ÙØ&¨Ñ*ˆJØ&Ñà&ˆJàØ—‘�Z¬¯©´s·{±{°mÓ)D�ÓEð Ðð  $˜qŸt™t HÐJÐ/?ÒJÈÑJÐØˆÜ�zÓ"ó #	%ˆAÜ$×6Ñ6ØÜ—‘˜aÐ!1´5·<±<À³?ÄEÇLÁLÐQRÃOÓTØ�óˆFô
 #×4Ñ4ØÜ—‘ØÐ'¬¯©°a«¼%¿,¹,ÀqÈ1ÁuÓ:Móð �óˆDð —D‘D˜¬U¯\©\¸1¸#Ó->�DÓ?ˆEØŸ$™$˜w¨°¸¸uÓEˆKàŸ™˜hÐ(8¸+ÓFˆJÜ"×+Ñ+Ð,>Ô?Ø)*¯©ØÐ/°¸¸uó*Ð&ô *9×)JÑ)JØÐ-°¨só*Ð&ð ŸT™T %¨Ð5KÓL�
Ø�qŠyÜ,×>Ñ>Ø�z¨1¨#¸!ô‘
ð ˜’ØŸT™T ,°
ÀAÀ3ÐST˜TÓU‘
àŸT™T +¨zÀ1À#ÐRS˜TÓT�
ä(×:Ñ:¸1¸jÈ1È#ÓNˆJØ�L‰L˜Ö$ðG#	%ðJ �—‘�hÐ1 Ò1¨qÑ1ˆð �t˜T 4Ð'Ð'ä×0Ñ0ð-ó
ð 	
r>   z%aten::fake_quantize_per_tensor_affinec           	     ó$  — ||fdk(  rt        j                  dddd|«       ||fdvrt        j                  d|› d|› d	�|«      ‚t        j                  |«      }|€t        j                  dddd
|«       |j                  «       j                  }|dk(  r-| j                  d|t        j                  j                  ¬«      }n,| j                  d|t        j                  j                  ¬«      }| j                  d| j                  d|||«      ||«      S )N)r   é   r   r1   é   z=Quantize range (0, 127) not supported, requires opset 13 Clip))r   éÿ   ©i€ÿÿÿr2  zLFor (quant_min, quant_max), ONNX allows only (0, 255) and (-128, 127). Got (z, ú)z Non-constant scale not supportedr   ÚCast©Úto_iÚDequantizeLinearÚQuantizeLinear)r	   Ú _onnx_opset_unsupported_detailedr   rõ   r×   ÚfloatÚdatarY   Ú_C_onnxÚTensorProtoDataTypeÚUINT8ÚINT8)r9   ÚinputsÚscaleÚ
zero_pointÚ	quant_minÚ	quant_maxs         r=   r   r   ¦  s&  € ð 	�9Ð Ò)Ü×8Ñ8Ø-ØØØKØô	
ð 	�9ÐÐ%<Ñ<Ü×'Ñ'ðØ�;˜b  ¨1ð.àó
ð 	
ô
 ×-Ñ-¨eÓ4€EØ€}Ü×8Ñ8Ø-ØØØ.Øô	
ð �K‰K‹M×Ñ€EØ�A‚~Ø—T‘T˜& *´7×3NÑ3N×3TÑ3T�TÓU‰
à—T‘T˜& *´7×3NÑ3N×3SÑ3S�TÓTˆ
Ø�4‰4ØØ	�‰Ð˜v u¨jÓ9ØØó	ð r>   zaten::isinfc                óz   — | j                  d| j                  d|t        j                  j                  ¬«      «      S )NÚIsInfr7  r8  )rY   r?  r@  ÚDOUBLE©r9   r¬   s     r=   r   r   Ö  s.   € à�4‰4�˜Ÿ™˜f e´'×2MÑ2M×2TÑ2T˜ÓUÓVÐVr>   zaten::isfinitec                óœ   — t        | |«      }t        j                  | |«      }t        j                  | t        j                  | ||«      «      S rÄ   )r   r6   ÚisnanÚ__not_Ú__or_)r9   r¬   Úinf_nodeÚnan_nodes       r=   r   r   Û  s;   € ä�Q˜‹€HÜ�|‰|˜A˜uÓ%€HÜ�=‰=˜œFŸL™L¨¨H°hÓ?Ó@Ð@r>   zaten::quantize_per_tensorc                ó"  — t        j                  |dd«      }| j                  d|t        j                  |«      j                  «       ¬«      }| j                  d|t        j                  j                  ¬«      }t        j                  | |||«      S )Nrd   rJ   r7  r8  )
r	   Ú
_get_constrY   r   ÚJitScalarTypeÚ	onnx_typer?  r@  ÚFLOATÚquantize_helper)r9   r¬   rD  rE  rJ   s        r=   r   r   â  s}   € ä×&Ñ& u¨c°7Ó;€Eà—‘Ø�
¤×!:Ñ!:¸5Ó!A×!KÑ!KÓ!Mð ó €Jð �D‰D�˜¤W×%@Ñ%@×%FÑ%FˆDÓG€EÜ×*Ñ*¨1¨e°U¸JÓGÐGr>   zaten::dequantizec                ó4   — t        j                  | |«      d   S r4   )r	   Údequantize_helperrK  s     r=   r   r   í  s   € ä×,Ñ,¨Q°Ó6°qÑ9Ð9r>   zaten::nan_to_numÚfc                óî  — t        j                  |«      s|S t        j                  j	                  |«      j                  «       }|€d}t        j                  | |«      }| j                  d|| j                  dt        j                  |g|¬«      ¬«      |«      }t        j                  |«      }|€|j                  }t        j                  | t        | |«      t        j                  | || j                  dt        j                   dg«      ¬«      «      «      }	| j                  d|	| j                  dt        j                  |g|¬«      ¬«      |«      }
|€|j"                  }t        j                  | t        | |
«      t        j$                  | |
| j                  dt        j                   dg«      ¬«      «      «      }| j                  d|| j                  dt        j                  |g|¬«      ¬«      |
«      S )Nç        rW   rH   rI   rK   r   )r	   rX   r   rT  Ú
from_valuerJ   r6   rM  rY   rZ   r[   ÚfinfoÚmaxÚlogical_andr   ÚgtÚ
LongTensorÚminÚlt)r9   r¬   ÚnanÚposinfÚneginfÚinput_dtypeÚnan_condÚ
nan_resultr^  Úposinf_condÚnan_posinf_resultÚneginf_conds               r=   r   r   ò  sµ  € ô
 ×!Ñ! %Ô(ØˆÜ×+Ñ+×6Ñ6°uÓ=×CÑCÓE€KØ
€{ØˆÜ�|‰|˜A˜uÓ%€HØ—‘ØØØ	�‰ˆZ¤§¡¨s¨e¸;Ô!GˆÓHØó	€Jô �K‰K˜Ó$€EØ€~Ø—‘ˆÜ×$Ñ$Ø	Üˆa�ÓÜ�	‰	�!�Z §¡ j¼%×:JÑ:JÈAÈ3Ó:O Ó!PÓQó€Kð
 Ÿ™ØØØ	�‰ˆZ¤§¡¨v¨h¸kÔ!JˆÓKØó	Ðð €~Ø—‘ˆÜ×$Ñ$Ø	ÜˆaÐ"Ó#Ü�	‰	ØÐ  !§$¡$ z¼5×;KÑ;KÈQÈCÓ;P $Ó"Qó	
ó€Kð �4‰4ØØØ	�‰ˆZ¤§¡¨v¨h¸kÔ!JˆÓKØó	ð r>   zquantized::linearc                ó4  — t        j                  | |«      \  }}}}t        j                  | |«      \  }	}
}}t        j                  | |||
«      }t        j                  | |«      \  }}}}t        j                  | ||	|«      }t        j
                  | |||«      S rÄ   )r	   rY  Úrequantize_bias_helperr6   rÍ   rW  ©r9   Úq_inputÚq_weightÚbiasÚop_scaleÚop_zero_pointr¬   Úinput_scaler†   ÚweightÚweight_scaleÚq_biasr0  s                r=   r*   r*   *  s•   € ô  /×@Ñ@ÀÀGÓLÑ€Eˆ;˜˜1Ü!0×!BÑ!BÀ1ÀhÓ!OÑ€FˆL˜!˜QÜ×3Ñ3°A°t¸[È,ÓW€FÜ#×5Ñ5°a¸Ó@�M€Dˆ!ˆQ�ä�]‰]˜1˜e V¨TÓ2€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::linear_reluc                ó`  — t        j                  | |«      \  }}}}t        j                  | |«      \  }	}
}}t        j                  | |||
«      }t        j                  | |«      \  }}}}t        j                  | ||	|«      }t        j
                  | |«      }t        j                  | |||«      S rÄ   )r	   rY  ro  r6   rÍ   ÚrelurW  rp  s                r=   r+   r+   8  s¥   € ô  /×@Ñ@ÀÀGÓLÑ€Eˆ;˜˜1Ü!0×!BÑ!BÀ1ÀhÓ!OÑ€FˆL˜!˜QÜ×3Ñ3°A°t¸[È,ÓW€FÜ#×5Ñ5°a¸Ó@�M€Dˆ!ˆQ�ä�]‰]˜1˜e V¨TÓ2€FÜ�[‰[˜˜FÓ#€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::addc                óÌ   — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | ||«      }t        j                  | |||«      S rÄ   )r	   rY  r6   ÚaddrW  ©r9   ÚxÚyrt  ru  r†   r0  s          r=   r   r   G  ó_   € ä ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQÜ ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä�Z‰Z˜˜1˜aÓ €Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::add_reluc                óø   — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | ||«      }t        j                  | |«      }t        j
                  | |||«      S rÄ   )r	   rY  r6   r}  r{  rW  r~  s          r=   r   r   Q  so   € ä ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQÜ ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä�Z‰Z˜˜1˜aÓ €FÜ�[‰[˜˜FÓ#€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::mulc                óÌ   — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | ||«      }t        j                  | |||«      S rÄ   )r	   rY  r6   ÚmulrW  r~  s          r=   r,   r,   \  r�  r>   zquantized::hardswishc                ó”   — t        j                  | |«      \  }}}}t        j                  | |«      }t        j                  | |||«      S rÄ   )r	   rY  r6   Ú	hardswishrW  ©r9   r  rt  ru  r†   r0  s         r=   r&   r&   f  sE   € ä ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä×Ñ˜a Ó#€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::sigmoidc                ó”   — t        j                  | |«      \  }}}}t        j                  | |«      }t        j                  | |||«      S rÄ   )r	   rY  r6   ÚsigmoidrW  r‡  s         r=   r-   r-   o  sC   € ä ×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä�^‰^˜A˜qÓ!€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::leaky_reluc                ó˜   — t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |||«      S rÄ   )r	   rY  r6   Ú
leaky_relurW  )r9   r  Únegative_slopeÚinplacert  ru  r†   r0  s           r=   r)   r)   x  sK   € ô !×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä×Ñ˜q ! ^°WÓ=€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::layer_normc           	     óž   — t        j                  | |«      \  }}}}t        j                  | |||||d«      }	t        j                  | |	||«      S ©NF)r	   rY  r6   Ú
layer_normrW  )
r9   r  Únormalized_shaperw  rs  Úepsrt  ru  r†   r0  s
             r=   r(   r(   ƒ  sR   € ô !×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä×Ñ˜q !Ð%5°v¸tÀSÈ%ÓP€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::group_normc           	     óž   — t        j                  | |«      \  }}}}t        j                  | |||||d«      }	t        j                  | |	||«      S r�  )r	   rY  r6   Ú
group_normrW  )
r9   r  Ú
num_groupsrw  rs  r’  rt  ru  r†   r0  s
             r=   r%   r%   •  sQ   € ô !×2Ñ2°1°aÓ8�J€A€qˆ!ˆQä×Ñ˜q ! Z°¸¸sÀEÓJ€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::instance_normc                ó¤   — t        j                  | |«      \  }}}}t        j                  | |||d d dd|d«
      }	t        j                  | |	||«      S )NFr\  )r	   rY  r6   Úinstance_normrW  )
r9   rq  rw  rs  r’  rt  ru  r¬   r†   r0  s
             r=   r'   r'   §  s\   € ô %×6Ñ6°q¸'ÓB�N€Eˆ1ˆa�ä×!Ñ!Ø	ˆ5�&˜$  d¨E°3¸¸Uó€Fô ×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::conv1d_reluc
           
     óh  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |«      }t        j                  | |||	«      S rÄ   )r	   rY  ro  r6   Úconv1dr{  rW  ©r9   rq  rr  rs  r�   r‘   r’   Úgroupsrt  ru  r¬   rv  r†   rw  rx  ry  r0  s                    r=   r   r   »  ó­   € ô  /×@Ñ@ÀÀGÓLÑ€Eˆ;˜˜1Ü!0×!BÑ!BÀ1ÀhÓ!OÑ€FˆL˜!˜QÜ×3Ñ3°A°t¸[È,ÓW€FÜ#×5Ñ5°a¸Ó@�M€Dˆ!ˆQ�ä�]‰]˜1˜e V¨T°6¸7ÀHÈfÓU€FÜ�[‰[˜˜FÓ#€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::conv2d_reluc
           
     óh  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |«      }t        j                  | |||	«      S rÄ   )r	   rY  ro  r6   Úconv2dr{  rW  rš  s                    r=   r   r   Ó  rœ  r>   zquantized::conv3d_reluc
           
     óh  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |«      }t        j                  | |||	«      S rÄ   )r	   rY  ro  r6   Úconv3dr{  rW  rš  s                    r=   r   r   ë  rœ  r>   zquantized::conv1dc
           
     ó<  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |||	«      S rÄ   )r	   rY  ro  r6   r™  rW  rš  s                    r=   r   r     ó�   € ô  /×@Ñ@ÀÀGÓLÑ€Eˆ;˜˜1Ü!0×!BÑ!BÀ1ÀhÓ!OÑ€FˆL˜!˜QÜ×3Ñ3°A°t¸[È,ÓW€FÜ#×5Ñ5°a¸Ó@�M€Dˆ!ˆQ�ä�]‰]˜1˜e V¨T°6¸7ÀHÈfÓU€Fä×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::conv2dc
           
     ó<  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |||	«      S rÄ   )r	   rY  ro  r6   rž  rW  rš  s                    r=   r    r      r¢  r>   zquantized::conv3dc
           
     ó<  — t        j                  | |«      \  }
}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | |
||||||«      }t        j
                  | |||	«      S rÄ   )r	   rY  ro  r6   r   rW  rš  s                    r=   r!   r!   1  r¢  r>   zquantized::conv_transpose1dc                ó>  — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | ||||||||«	      }t        j
                  | ||	|
«      S rÄ   ©r	   rY  ro  r6   Úconv_transpose2drW  ©r9   rq  rr  rs  r�   r‘   Úoutput_paddingr’   r›  rt  ru  r¬   rv  r†   rw  rx  ry  r0  s                     r=   r"   r"   H  ó¦   € ô  /×@Ñ@ÀÀGÓLÑ€Eˆ;˜˜1Ü!0×!BÑ!BÀ1ÀhÓ!OÑ€FˆL˜!˜QÜ×3Ñ3°A°t¸[È,ÓW€FÜ#×5Ñ5°a¸Ó@�M€Dˆ!ˆQ�ä×$Ñ$Ø	ˆ5�&˜$ ¨°ÀÈó€Fô ×*Ñ*¨1¨f°hÀÓNÐNr>   zquantized::conv_transpose2dc                ó>  — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | ||||||||«	      }t        j
                  | ||	|
«      S rÄ   r¦  r¨  s                     r=   r#   r#   b  rª  r>   zquantized::conv_transpose3dc                ó>  — t        j                  | |«      \  }}}}t        j                  | |«      \  }}}}t        j                  | |||«      }t        j                  | |«      \  }}}}t        j                  | ||||||||«	      }t        j
                  | ||	|
«      S rÄ   )r	   rY  ro  r6   Úconv_transpose3drW  r¨  s                     r=   r$   r$   |  rª  r>   zquantized::catc                óÞ   — t        j                  |«      }|D �cg c]  }t        j                  | |«      d   ‘Œ }} | j                  dg|¢­d|iŽ}t        j                  | |||«      S c c}w )Nr   r  r  )r	   Ú_unpack_listrY  rY   rW  )	r9   Úq_inputsri   rt  ru  Úunpacked_inputsr¬   ÚdequantizedÚconcatenateds	            r=   r   r   –  sx   € ô &×2Ñ2°8Ó<€OàDSöØ;@Œ×)Ñ)¨!¨UÓ3°AÓ6ð€Kð ð �1—4‘4˜Ð; ;Ò;°sÑ;€LÜ×*Ñ*¨1¨l¸HÀmÓTÐTùò	s   š A*)r9   r®   rÄ   )r9   r®   r:   r¯   r~   r°   r   r°   r€   r°   r�   r°   r‚   r²   rƒ   r�   Úreturnr¯   )rŽ   r�   r�   úSequence[int] | intr�   rµ  r‘   rµ  r’   rµ  r´  zAtuple[Sequence[int], Sequence[int], Sequence[int], Sequence[int]])r9   r®   r:   r¯   r~   r°   r   r°   r€   r°   r�   r°   r‚   r²   rƒ   r�   r–   r°   r—   r°   r˜   r°   r´  ztuple[_C.Value, Sequence[int]])r¶   ÚstrrŽ   r�   r¡   r²   )
rŽ   r�   r�   rµ  r�   rµ  r‘   rµ  r´  z2tuple[Sequence[int], Sequence[int], Sequence[int]])r9   r®   r¬   ztorch._C.Valuer�   ú$list | torch.Tensor | torch._C.Valuerœ   r·  r›   r·  rþ   z+list | torch.Tensor | torch._C.Value | Noner5  )r9   r®   r°  r¯   ri   r�   rt  r¯   ru  r¯   r´  r¯   )MÚ
__future__r   Ú	functoolsr  r  Útypingr   rZ   Útorch._C._onnxr   Ú_onnxr?  Ú
torch.onnxr   r   r   r	   r
   r6   Útorch.onnx._globalsr   Útorch.onnx._internalr   r   Úcollections.abcr   Ú__all__ÚpartialÚonnx_symbolicÚ_onnx_symbolicr   rµ   r8   rC   r/   r0   r‡   r“   rŸ   Ú_apply_paramsr·   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   © r>   r=   ú<module>rÇ     sZ
  ðõ #ã Û 
Û Ý  ã ß  Ð  Û Ý ÷õ õ (ß 8ñ Ý(ò#€ðL #�×"Ñ" <×#=Ñ#=ÀRÔH€ñ �Óò9ó ð9ð €×Ñ˜C  cÓ*òHó +ðHñ Ð%Ó&ò5ó 'ð5ñ( �ÓØ€×Ñ˜C  c¨6Ó2óTó 3ó ðTñ �ÓØ€×Ñ˜C  c¨3°°VÓ<óó =ó ðð$Øð$à
ð$ð  ð$ð ð	$ð
 ð$ð ð$ð ð$ð ð$ð ó$ðP(3Øð(3à$ð(3ð  ð(3ð !ð	(3ð
 "ð(3ð Gó(3ðV5"Øð5"à
ð5"ð  ð5"ð ð	5"ð
 ð5"ð ð5"ð ð5"ð ð5"ð ð5"ð ð5"ð ð5"ð $ó5"ñp ØØ+ˆo×+Ñ+¨L¸!ÈEÔRÐSôñ ØØ+ˆo×+Ñ+¨L¸!ÈEÔRÐSôñ ØØ+ˆo×+Ñ+¨L¸!ÈEÔRÐSôñ Ø#à%ˆ×%Ñ%Ø%ØØô	
ðô	ñ Ø#à%ˆ×%Ñ%Ø%ØØô	
ðô	ñ Ø#à%ˆ×%Ñ%Ø%ØØô	
ðô	ò*ó	ó	ó	ó	ó	ó	ðT*ð\)Øð)à$ð)ð  ð)ð !ð	)ð
 8ó)ñ@ ØØ+ˆo×+Ñ+¨L¸!Ó<Ð=ôñ ØØ+ˆo×+Ñ+¨L¸!Ó<Ð=ôñ ØØ+ˆo×+Ñ+¨L¸!Ó<Ð=ôñó	ó	ó	ðñ@ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,@À!ÀYÓOÐPôñ ØØ+ˆo×+Ñ+Ð,?ÀÀHÓMÐNôñ ØØ+ˆo×+Ñ+Ð,AÀ1ÀhÓOÐPôñ Ø Ø+ˆo×+Ñ+Ð,BÀAÀxÓPÐQôñó	ó	ó	ó	ó	ó	ð0ñ& Ð%Ó&ð6Øò6ó 'ð6ð, :>ð7;Øð7;àð7;ð /ð7;ð 1ð	7;ð
 /ð7;ð 7ó7;ñt �Óòó ðñ* �ÓØ€×Ñ˜C Ó&òó 'ó ðñ �Óò/ó ð/ñ Ð%Ó&Ø€×Ñ˜C  c¨3°°S¸#¸sÀCÓHðQ
ØòQ
ó Ió 'ðQ
ñh Ð7Ó8Ø€×Ñ˜C  c¨3°Ó4ð Øð+Øò+ó 5ó 9ð+ñ\ �ÓòWó ðWñ Ð Ó!òAó "ðAñ Ð+Ó,òHó -ðHñ Ð"Ó#ò:ó $ð:ñ Ð"Ó#Ø€×Ñ˜C  c¨3Ó/ò/ó 0ó $ð/ñl Ð#Ó$ð
OØò
Oó %ð
Oñ Ð(Ó)ðOØòOó *ðOñ Ð Ó!òOó "ðOñ Ð%Ó&òOó 'ðOñ Ð Ó!òOó "ðOñ Ð&Ó'òOó (ðOñ Ð$Ó%òOó &ðOñ Ð'Ó(ðOØòOó )ðOñ Ð'Ó(ðOØòOó )ðOñ" Ð'Ó(ðOØòOó )ðOñ" Ð*Ó+Ø€×Ñ˜C  c¨3°°SÓ9ðOØòOó :ó ,ðOñ$ Ð(Ó)ðOØòOó *ðOñ. Ð(Ó)ðOØòOó *ðOñ. Ð(Ó)ðOØòOó *ðOñ. Ð#Ó$ðOØòOó %ðOñ, Ð#Ó$ðOØòOó %ðOñ, Ð#Ó$ðOØòOó %ðOñ, Ð-Ó.ðOØòOó /ðOñ2 Ð-Ó.ðOØòOó /ðOñ2 Ð-Ó.ðOØòOó /ðOñ2 Ð Ó!Ø€×Ñ˜C  c¨3Ó/ðUØðUàðUð 
ðUð ð	Uð
 ðUð òUó 0ó "ñUr>   