
    <Цi                       S SK Jr  S SKrS SKrS SKrS SKJr  S SKrS SKJ	s  J
r  S SKrS SKJ	r	  S SKJrJrJrJrJr  S SKJr  S SKJrJr  / SQr\R2                  " \R4                  S	S
9r\" S5      SS j5       r\R:                  " SSS5      SS j5       r\" S5      SS j5       r\" S5      \R:                  " SSSS5      SSS jj5       5       r \" S5      \R:                  " SSSSSS5      SSS jj5       5       r!                  SS jr"            SS jr#                        SS jr$\" S\RJ                  " SSSS9/S 9\" S!\RJ                  " S"S#SS9/S 9\" S$\RJ                  " S%S&SS9/S 9\" S'\RJ                  " S(SS)S9/S 9\" S*\RJ                  " S+S#S)S9/S 9\" S,\RJ                  " S-S&S)S9/S 9SS. j5       5       5       5       5       5       r&          SS/ jr'\" S0\RJ                  " S1S5      /S 9\" S2\RJ                  " S3S#5      /S 9\" S4\RJ                  " S5S&5      /S 9S6 5       5       5       r(\" S7\RJ                  " S8S&S95      /S 9\" S:\RJ                  " S;S<S95      /S 9\" S=\RJ                  " S>S?S95      /S 9\" S@\RJ                  " SAS&SB5      /S 9\" SC\RJ                  " SDS<SB5      /S 9\" SE\RJ                  " SFS?SB5      /S 9SG 5       5       5       5       5       5       r)\" SH5        SSI j5       r* S           SSJ jjr+\" SK5      SSL j5       r,\" SM5      \R:                  " SSN5      SSO j5       5       r-\" SP5      SSQ j5       r.\" SR5      \R:                  " SSSSSSSSS5	        SSS j5       5       r/\" ST5      \R:                  " SSSSS5        S SSU jj5       5       r0\" SV5      SSW j5       r1\" SX5      SSY j5       r2\" SZ5      SS[ j5       r3\" S\5      SS] j5       r4\" S^5      \R:                  " SS_S_S_5      SS` j5       5       r5\" Sa5        SSb j5       r6\" Sc5        SSd j5       r7\" Se5      SSf j5       r8\" Sg5      SSh j5       r9\" Si5      SSj j5       r:\" Sk5      SSl j5       r;\" Sm5      SSn j5       r<\" So5        SSp j5       r=\" Sq5        SSr j5       r>\" Ss5        SSt j5       r?\" Su5      \R:                  " SSSS_SS5        SSv j5       5       r@\" Sw5        SSx j5       rA\" Sy5        SSz j5       rB\" S{5        SS| j5       rC\" S}5        SS~ j5       rD\" S5        SS j5       rE\" S5        SS j5       rF\" S5        SS j5       rG\" S5        SS j5       rH\" S5        SS j5       rI\" S5      \R:                  " SSSS5                  SS j5       5       rJg)    )annotationsN)Sequence)_C)
_constants_type_utilserrorssymbolic_helpersymbolic_opset9)GLOBALS)	jit_utilsregistration)"
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    [        U5      S:X  a  [        R                  " XU5      $ [        XU/UQ76 $ Nr   )lenopset9true_divide_div_rounding_mode)gselfotherargss       Z/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/torch/onnx/symbolic_opset10.pyr   r   L   s2    
4yA~!!!511!!58488    vsc                T    US:X  a  [        XU5      $ [        R                  " XX#5      $ )Nfloor)_floor_divider5   r7   )r8   r9   r:   rounding_modes       r<   r7   r7   T   s*    Qe,,((%GGr=   zaten::_floor_dividec                   [         R                  " U5      (       d  [         R                  " U5      (       a)  [        R                  " XU5      nU R	                  SU5      $ U R	                  SX5      nU R	                  S[
        R                  " S[
        R                  S9S9nU R	                  SU R	                  SX5      U R	                  SX%5      5      nU R	                  S	XSS
9nU R	                  SX`R	                  SU R	                  SXu5      5      5      nU R	                  S[
        R                  " S[
        R                  S9S9n	U R	                  SXI5      n
U R	                  SXU5      $ )NFloorDivConstantr   dtypevalue_tXorLessModfmod_iAndNotEqual   SubWhere)r	   _is_fpr5   r6   optorchtensorint64)r8   r9   r:   outr   zeronegativemod
fixup_maskonefixups              r<   rB   rB   \   s!   d##'='=e'D'D  %0ttGS!! dd5$&ttJQekk(JtK44qttFD7fe9RS dd5$ad0TT%44qttGS7O+PQ
dd:u||AU[['IdJUC%ttGZ44r=   z
aten::sortinonec                .    [         R                  " XX#US9$ )N)	decendingr\   )r	   _sort_helper)r8   r9   dimrf   r\   s        r<   r.   r.   q   s     ''sSSr=   z
aten::topkc           
     0    [         R                  " XX#XEUS9$ )N)largestsortedr\   )r	   _topk_helper)r8   r9   krh   rj   rk   r\   s          r<   r/   r/   w   s      ''	S r=   c                   U R                  SU R                  SU5      5      nX:X  aC  U R                  SUU R                  S[        R                  " S/[        R                  S9S95      nU R                  SUS	UUUUUS
9u  pX:X  aC  U R                  SU	U R                  S[        R                  " S/[        R                  S9S95      n	U	$ )NSizeShape	UnsqueezerG   r   rH   rJ   MaxPool   outputsceil_mode_idilations_ikernel_shape_ipads_i	strides_iSqueezerX   rY   rZ   r[   )r8   r9   kernel_shapestridespads	dilations	ceil_modeunbatched_rank	self_rankpool_result_s              r<   _aten_max_pool_onnxr      s     VQTT'401I"ttDDU\\1#U[[%IDJ
 TT#  	NK "ddDDU\\1#U[[%IDJ
 r=   c                   [        U[        5      (       a  U/U -  n[        U[        5      (       a  U/U -  nOUn[        U[        5      (       a
  U/U -  S-  nOC[        U5      S:X  a  X0-  S-  nO,[        U5      S:X  a  US-  nO[        U5      S:X  a  US-  nOUn[        U[        5      (       a  U/U -  nOU(       d  UnOUnXWXd4$ ):Adjust attributes of avg_pool to match ONNX specification.rs   rT      
isinstanceintr4   )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                6   U R                  SU R                  SU5      5      nX:X  aC  U R                  SUU R                  S[        R                  " S/[        R                  S9S95      nU R                  SUS	UUUUUS
9u  pU R                  SUS	UUUS9u  pU R                  S[        R                  " U5      S9nU R                  S[        R                  " U	5      S9nU R                  S[        R                  " U
5      S9nU R                  SUUUU5      nU R                  SUU5      nX:X  af  U R                  SU[        R                  " S/[        R                  S9S9nU R                  SU[        R                  " S/[        R                  S9S9nX4$ )Nro   rp   rq   rG   r   rH   rJ   rr   rs   rt   )ru   rw   rx   rz   SlicerU   r{   r|   )r8   r9   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    VQTT'401I"ttDDU\\1#U[[%IDJ
 44#   	K !  A 44
ELL$<4=DTT*ell;&?T@F44
ELL$=4>DDD/64>Edd5'5)G"dd{ELL!EKK,P  
 $$y'5<<5;;3W$X!!r=   zaten::max_pool1d
max_pool1drT   F)return_indices)decoratezaten::max_pool2d
max_pool2drs   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           	        ^^ [         R                  " SSSSSS5      [         R                  " SSSSSS5                    SUU4S jj5       5       nU$ )NTFr>   isrc   c                   > [        TX#XE5      u  pxpT(       a=  [        U UUUU	U
UTS-   S/T-  S/T-  [        T5       Vs/ s H  nSU-   PM
     sn5      $ [        U UUUU	U
UTS-   5      $ s  snf )NrT   r   rs   )r   r   ranger   )r8   inputr   r   r   r   r   r}   r~   r   r   rc   r   r   s               r<   symbolic_fn_max_pool.<locals>.symbolic_fn5  s     2Pg2
.t 3a{"{"!&{!34!3A!a%!34  'a	 	 5s    A+)r8   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%ueLT4tSA%!%% #% 	%
 %%  % % B M%N r=   c                4   [        U[        5      (       a  U/U -  nOUn[        U[        5      (       a
  U/U -  S-  nO0[        U5      S:X  a  X0-  S-  nO[        U5      S:X  a  X0-  nOUS-  n[        U[        5      (       a  U/U -  nOU(       d  UnOUnXFU4$ )r   rs   rT   r   )r   r   r   r   r}   r   r~   s          r<   _adjust_attributes_of_avg_poolr   b  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           
        ^ [         R                  " SSSSSSS5      [         R                  " SSSSSSS5       S           S	U4S jjj5       5       nU$ )
NTFr>   r   rc   rd   c           
     R   > [        TX#U5      u  pn
U R                  SUUUUU
U	S9nU$ )NAveragePool)rv   count_include_pad_irx   ry   rz   )r   rX   )r8   r   r   r   r   r   count_include_paddivisor_overrider}   r~   r   resultr   s               r<   r   _avg_pool.<locals>.symbolic_fn  sM     'E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%ueUST4sC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                R   ^ ^^ [         R                  " SSS5      UUU 4S j5       nU$ )NTFc                &  > [         R                  " U TU5      u  pE[         R                  " T5        [         R                  " U5      nU(       a  [         R                  " TSU5      $ Uc  [         R
                  " XUT5      nU R                  SXTS9$ )Nzalign_corners == TrueResizemode_s)r	   _get_interpolate_attributes_interpolate_warning_maybe_get_scalar_unimplemented_interpolate_size_to_scalesrX   )	r8   r   output_sizer;   scalesalign_cornersrh   interpolate_moder   s	         r<   r   !_interpolate.<locals>.symbolic_fn  s     / K K!
 	,,-=>'99-H"11$8OQVWW>$@@+sF ttHe4DtEEr=   )r	   r   )r   rh   r   r   s   ``` r<   _interpolater     s0    2 ##D%7F 8F r=   zaten::__interpolatec                X    [         R                  " XX#XE5      u  pU R                  SXUS9$ )Nr   r   )r	    _interpolate_get_scales_and_moderX   )	r8   r   sizescale_factormoder   recompute_scale_factor	antialiasr   s	            r<   __interpolater     s4     #CC	$dLF 44%455r=   c                <  ^ ^ S mSU U4S jjnS nU" U5      S:X  a+  U" U5      [         R                  :X  a  Ub  U" U5      S:X  a  U$ U" U5      nU" USS9nU" U[         R                  S9nUc  T R                  SXXB5      $ U" USS9nT R                  SXXBU5      $ )	Nc                    U c  g[        U [        R                  R                  5      =(       aP    U R	                  5       R                  5       S:H  =(       a(    [        U R                  5       [        R                  5      $ )NTzprim::Constant)r   rY   r   ValuenodekindtypeNoneType)values    r<   is_none_value_slice.<locals>.is_none_value  sW    =uehhnn- 6

!!#'7765::<5	
r=   c                j  > T" U 5      (       a  Ub  U/n [        U [        [        R                  45      (       a$  TR	                  S[        R
                  " U 5      S9$ [        R                  " U 5      nUS:X  a  [        R                  " TU S/5      $ US:X  a  U $ [        R                  " SU 3U 5      e)NrG   rJ   r   rT   zRank must be 0 or 1, not )r   listrY   TensorrX   rZ   r	   _get_tensor_rank_unsqueeze_helperr   SymbolicValueError)list_or_valuedefault_valuerankr8   r   s      r<   to_slice_input_slice.<locals>.to_slice_input  s    ''M,E*OMmdELL%9::44
ELL,G4HH//>19"44QsKK19  '''v.
 	
r=   c                    [        U [        [        R                  45      (       a  [	        U 5      S:X  a  U S   $ g [
        R                  " U S5      $ )NrT   r   rc   )r   r   rY   r   r4   r	   _maybe_get_const)r   s    r<   get_const_value_slice.<locals>.get_const_value  sF    mdELL%9::=!Q&$Q''//sCCr=   r   rT   )r   r   r   )r   	INT64_MAXrX   )	r8   r   r   r   r   stepsr   r   r   s	   `       @r<   _slicer    s    

 
"D 	1$D!Z%9%99]oe49$DF!4F$j.B.BCD}ttGUD7752E44E::r=   zaten::slicec           	         [        U5      S:X  a  Uu  p4pVO/[        U5      S:X  a	  Uu  pEnS/nO[        R                  " SU5      e[        R                  " U UUUUUS9$ )Nr   r   r   zUnknown aten::slice signaturer   r   r   r  )r4   r   r   r	   _slice_helper)r8   r9   r;   dimsstartendsteps          r<   r-   r-   $  sn    
4yA~!%S$	TaDs''(GNN((	 r=   z
aten::flipr   c                    [         R                  " U UUS/[        U5      -  [        R                  * /[        U5      -  S/[        U5      -  S9$ )Nr  )r	   r  r4   r   r  )r8   r   r  s      r<   r   r   :  sT     ((	tc$i###$s4y0dSY r=   z
aten::fmodc                $    U R                  SXSS9$ )NrN   rT   rO   )rX   )r8   r   r:   s      r<   r   r   G  s    44uA4..r=   zaten::embedding_bagc
                   U(       a+  [         R                  (       a  [        R                  " S5      $ U	b  U	S:  a  [	        S5      e[
        R                  " S5        [        R                  " US5      n
U
Gb\  U(       a  U
S-
  nUnOMU
nUU R                  S[        R                  " [        R                  /5      S9/nU R                  " S/UQ7S	S06n/ n[        U5       GH  n[        R                  " U [        R                   " X[        R                  " S5      [        R                  " U5      5      S/5      n[        R                  " U [        R                   " X[        R                  " S5      [        R                  " US-   5      5      S/5      nU R                  S[        R                  " S/5      S9nU R                  S
X/UU5      nU R                  SUU5      n[        R"                  " U5      (       d@  U R                  S
XUU5      n[        R                  " U US/5      nU R                  SUU5      nUS:X  a  [        R$                  " U US/SS9nO-US:X  a  U R                  SUS/SS9nOU R                  SUS/SS9n[        R                  " U US/5      nUR'                  U5        GM     U R                  " S/UQ7S	S06nUS S S 4$ [        R                  " S5      $ )Nz7embedding_bag with scale_grad_by_freq for training moder   zembedding_bag with padding_idxzExport 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.'rT   rG   rJ   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_sizerX   rY   rZ   sysmaxsizer   r   r5   select_is_none_reducesum_helperappend)r8   embedding_matrixr   offsetsscale_grad_by_freqr   sparseper_sample_weightsinclude_last_offsetpadding_idxoffsets_dim_0
offset_lenoffsets_extendedlist_rc   start_end_axes_indices_row
embeddingsper_sample_weights_rowoutputs                         r<   r   r   L  s    g5500E
 	
 ;!#3;<<MM	R $88!DM &*J&&JZs{{m)DE   !ttHJ/?JJz"A$66a5<<?ELLQROTF
 #44a%,,q1u:M D DDU\\1#->D?E$$wuEKh(8+FJ"++,>??)*/u*& *9)J)J-s*& TT%5KL
qy,>>z1#!
 TT,
A3STTU
TT+z1#RSTT
(::1j1#NJLL$G #J h11q1 tT4''00-
 	
r=   z%aten::fake_quantize_per_tensor_affinec           	     $   XE4S:X  a  [         R                  " SSSSU5        XE4S;  a  [        R                  " SU SU S	3U5      e[         R                  " U5      nUc  [         R                  " SSSS
U5        UR                  5       R                  nUS:X  a*  U R                  SU[        R                  R                  S9nO)U R                  SU[        R                  R                  S9nU R                  SU R                  SXU5      UU5      $ )N)r      r   r0      z=Quantize range (0, 127) not supported, requires opset 13 Clip))r      ir7  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datarX   _C_onnxTensorProtoDataTypeUINT8INT8)r8   inputsscale
zero_point	quant_min	quant_maxs         r<   r   r     s     	)88-K	
 	%<<'';b1.
 	

 --e4E}88-.	
 KKMEA~TT&*73N3N3T3TTU
TT&*73N3N3S3STT
44	vj9	 r=   zaten::isinfc           	     t    U R                  SU R                  SU[        R                  R                  S95      $ )NIsInfr<  r=  )rX   rD  rE  DOUBLEr8   r   s     r<   r   r     s.    44fe'2M2M2T2TUVVr=   zaten::isfinitec                    [        X5      n[        R                  " X5      n[        R                  " U [        R                  " XU5      5      $ r   )r   r5   isnan__not___or_)r8   r   inf_nodenan_nodes       r<   r   r     s5    QH||A%H==FLLh?@@r=   zaten::quantize_per_tensorc                   [         R                  " USS5      nU R                  SU[        R                  " U5      R                  5       S9nU R                  SU[        R                  R                  S9n[         R                  " XX#5      $ )Nrc   rI   r<  r=  )
r	   
_get_constrX   r   JitScalarType	onnx_typerD  rE  FLOATquantize_helper)r8   r   rI  rJ  rI   s        r<   r   r     sy    &&uc7;E
!:!:5!A!K!K!M  J DDW%@%@%F%FDGE**1UGGr=   zaten::dequantizec                4    [         R                  " X5      S   $ r3   )r	   dequantize_helperrP  s     r<   r   r     s    ,,Q6q99r=   zaten::nan_to_numfc                   [         R                  " U5      (       d  U$ [        R                  R	                  U5      R                  5       nUc  Sn[        R                  " X5      nU R                  SUU R                  S[        R                  " U/US9S9U5      n[        R                  " U5      nUc  UR                  n[        R                  " U [        X5      [        R                  " XU R                  S[        R                   " S/5      S95      5      n	U R                  SU	U R                  S[        R                  " U/US9S9U5      n
Uc  UR"                  n[        R                  " U [        X
5      [        R$                  " X
U R                  S[        R                   " S/5      S95      5      nU R                  SUU R                  S[        R                  " U/US9S9U
5      $ )N        rV   rG   rH   rJ   r   )r	   rW   r   rY  
from_valuerI   r5   rR  rX   rY   rZ   finfomaxlogical_andr   gt
LongTensorminlt)r8   r   nanposinfneginfinput_dtypenan_cond
nan_resultrc  posinf_condnan_posinf_resultneginf_conds               r<   r   r     s   
 !!%((++66u=CCEK
{||A%H	Zse;!GH	J KK$E~$$	a		!j%:J:JA3:O!PQK
 	Zvhk!JK	 ~$$	a#		!$$z5;K;KQC;P$"Q	
K 44	Zvhk!JK	 r=   zquantized::linearc                *   [         R                  " X5      u  pg  n[         R                  " X5      u  p  n[         R                  " XXz5      n[         R                  " X5      u  n    n[        R                  " XX5      n[         R
                  " XXE5      $ r   )r	   r^  requantize_bias_helperr5   r   r\  r8   q_inputq_weightbiasop_scaleop_zero_pointr   input_scaler   weightweight_scaleq_biasr5  s                r<   r)   r)   &  s      /@@LE1!0!B!B1!OF!Q33A[WF#55a@MD!Q]]1V2F**1hNNr=   zquantized::linear_reluc                V   [         R                  " X5      u  pg  n[         R                  " X5      u  p  n[         R                  " XXz5      n[         R                  " X5      u  n    n[        R                  " XX5      n[        R
                  " X5      n[         R                  " XXE5      $ r   )r	   r^  rt  r5   r   relur\  ru  s                r<   r*   r*   4  s      /@@LE1!0!B!B1!OF!Q33A[WF#55a@MD!Q]]1V2F[[#F**1hNNr=   zquantized::addc                    [         R                  " X5      u  n    n[         R                  " X5      u  n    n[        R                  " XU5      n[         R                  " XX45      $ r   )r	   r^  r5   addr\  r8   xyry  rz  r   r5  s          r<   r   r   C  U     2218JAq!Q 2218JAq!QZZa F**1hNNr=   zquantized::add_reluc                    [         R                  " X5      u  n    n[         R                  " X5      u  n    n[        R                  " XU5      n[        R                  " X5      n[         R
                  " XX45      $ r   )r	   r^  r5   r  r  r\  r  s          r<   r   r   M  sc     2218JAq!Q 2218JAq!QZZa F[[#F**1hNNr=   zquantized::mulc                    [         R                  " X5      u  n    n[         R                  " X5      u  n    n[        R                  " XU5      n[         R                  " XX45      $ r   )r	   r^  r5   mulr\  r  s          r<   r+   r+   X  r  r=   zquantized::hardswishc                    [         R                  " X5      u  n    n[        R                  " X5      n[         R                  " XX#5      $ r   )r	   r^  r5   	hardswishr\  r8   r  ry  rz  r   r5  s         r<   r%   r%   b  s=     2218JAq!Qa#F**1hNNr=   zquantized::sigmoidc                    [         R                  " X5      u  n    n[        R                  " X5      n[         R                  " XX#5      $ r   )r	   r^  r5   sigmoidr\  r  s         r<   r,   r,   k  s;     2218JAq!Q^^A!F**1hNNr=   zquantized::leaky_reluc                    [         R                  " X5      u  n    n[        R                  " XX#5      n[         R                  " XXE5      $ r   )r	   r^  r5   
leaky_relur\  )r8   r  negative_slopeinplacery  rz  r   r5  s           r<   r(   r(   t  sA     !2218JAq!Qq^=F**1hNNr=   zquantized::layer_normc           	         [         R                  " X5      u  n    n[        R                  " XX#XES5      n	[         R                  " X	Xg5      $ NF)r	   r^  r5   
layer_normr\  )
r8   r  normalized_shaper|  rx  epsry  rz  r   r5  s
             r<   r'   r'     sF     !2218JAq!Qq%5t%PF**1hNNr=   zquantized::group_normc           	         [         R                  " X5      u  n    n[        R                  " XX#XES5      n	[         R                  " X	Xg5      $ r  )r	   r^  r5   
group_normr\  )
r8   r  
num_groupsr|  rx  r  ry  rz  r   r5  s
             r<   r$   r$     sE     !2218JAq!QqZEJF**1hNNr=   zquantized::instance_normc                    [         R                  " X5      u  n    n[        R                  " XX#S S SSUS5
      n	[         R                  " X	XV5      $ )NFra  )r	   r^  r5   instance_normr\  )
r8   rv  r|  rx  r  ry  rz  r   r   r5  s
             r<   r&   r&     sR     %66qBNE1a!!	&dE3UF **1hNNr=   zquantized::conv1d_reluc
           
     ^   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[        R
                  " U U5      n[         R                  " U UX5      $ r   )r	   r^  rt  r5   conv1dr  r\  r8   rv  rw  rx  r   r   r   groupsry  rz  r   r{  r   r|  r}  r~  r5  s                    r<   r   r           /@@LE1!0!B!B1!OF!Q33A[WF#55a@MD!Q]]1V6HUF[[F#F**1fhNNr=   zquantized::conv2d_reluc
           
     ^   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[        R
                  " U U5      n[         R                  " U UX5      $ r   )r	   r^  rt  r5   conv2dr  r\  r  s                    r<   r   r     r  r=   zquantized::conv3d_reluc
           
     ^   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[        R
                  " U U5      n[         R                  " U UX5      $ r   )r	   r^  rt  r5   conv3dr  r\  r  s                    r<   r   r     r  r=   zquantized::conv1dc
           
     0   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[         R
                  " U UX5      $ r   )r	   r^  rt  r5   r  r\  r  s                    r<   r   r           /@@LE1!0!B!B1!OF!Q33A[WF#55a@MD!Q]]1V6HUF**1fhNNr=   zquantized::conv2dc
           
     0   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[         R
                  " U UX5      $ r   )r	   r^  rt  r5   r  r\  r  s                    r<   r   r     r  r=   zquantized::conv3dc
           
     0   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " X5      u  n    n[        R                  " X
XXEXg5      n[         R
                  " U UX5      $ r   )r	   r^  rt  r5   r  r\  r  s                    r<   r    r    -  r  r=   zquantized::conv_transpose1dc                4   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " U U5      u  n    n[        R                  " XXXEXhU5	      n[         R
                  " U UX5      $ r   r	   r^  rt  r5   conv_transpose2dr\  r8   rv  rw  rx  r   r   output_paddingr   r  ry  rz  r   r{  r   r|  r}  r~  r5  s                     r<   r!   r!   D        /@@LE1!0!B!B1!OF!Q33A[WF#55a@MD!Q$$	&F **1fhNNr=   zquantized::conv_transpose2dc                4   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " U U5      u  n    n[        R                  " XXXEXhU5	      n[         R
                  " U UX5      $ r   r  r  s                     r<   r"   r"   ^  r  r=   zquantized::conv_transpose3dc                4   [         R                  " X5      u  p  n[         R                  " X5      u  p  n[         R                  " XX5      n[         R                  " U U5      u  n    n[        R                  " XXXEXhU5	      n[         R
                  " U UX5      $ r   )r	   r^  rt  r5   conv_transpose3dr\  r  s                     r<   r#   r#   x  r  r=   zquantized::catc                    [         R                  " U5      nU Vs/ s H  n[         R                  " X5      S   PM     nnU R                  " S/UQ7SU06n[         R                  " XX45      $ s  snf )Nr   r  r  )r	   _unpack_listr^  rX   r\  )	r8   q_inputsrh   ry  rz  unpacked_inputsr   dequantizedconcatenateds	            r<   r   r     sr     &228<ODSDS5))!3A6O   44;;;s;L**1HTT	s   #A-)r8   r   r   )r8   r   r9   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]])r8   r   r9   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]])r8   r   r   ztorch._C.Valuer   $list | torch.Tensor | torch._C.Valuer   r  r   r  r  z+list | torch.Tensor | torch._C.Value | Noner:  )r8   r   r  r   rh   r   ry  r   rz  r   r  r   )K
__future__r   	functoolsr  r  typingr   rY   torch._C._onnxr   _onnxrD  
torch.onnxr   r   r   r	   r
   r5   torch.onnx._globalsr   torch.onnx._internalr   r   __all__partialonnx_symbolic_onnx_symbolicr   r   r7   rB   r.   r/   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     s 
   #  
           ( 8#L ""<#=#=RH 9 9 Cc*H +H %&5 '5( Cc62T 3 T Cc3V< = $$
$  $ 	$
 $ $ $ $ $P(3(3$(3  (3 !	(3
 "(3 G(3V5"5"
5"  5" 	5"
 5" 5" 5" 5" 5" 5" 5" $5"p ++L!ERS ++L!ERS ++L!ERS #%%%	
	 #%%%	
	 #%%%	
	*						T*\))$)  ) !	)
 8)@ ++L!<= ++L!<= ++L!<=			@ ++,@!YOP ++,@!YOP ++,@!YOP ++,?HMN ++,A1hOP  ++,BAxPQ						0& %&66 '6, :>7;7;7; /7; 1	7;
 /7; 77;t  * C& '  / / %&Cc3S#sCHQ
Q
 I 'Q
h 78Cc34 ++ 5 9+\ W W  !A "A +,H -H "#: $: "#Cc3// 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c3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c3/UUU 
U 	U
 U U 0 "Ur=   