
    h@                         S SK r S SKJr  S SKrS SKrS SKrS SKJrJ	r	J
r
JrJrJrJr   " S S\ R                  5      r\S:X  a  \ R$                  " 5         gg)    N)Sequence)
GraphProtoSparseTensorProtoTensorProtocheckerhelpernumpy_helpershape_inferencec                      \ rS rSr\S\4S j5       r S3S\\   S\\   S\\   S\\   S\	S\
4S	 jjrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jrS4S jr\S\4S j5       r S4S  jr!S4S! jr"S4S" jr#S4S# jr$S4S$ jr%S4S% jr&S4S& jr'S4S' jr(S4S( jr)S4S) jr*S4S* jr+S4S+ jr,S4S, jr-S4S- jr.S4S. jr/S4S/ jr0S4S0 jr1S1 r2S2r3g
)5TestChecker   returnc                     [         R                  R                  SS5      R                  [         R                  5      n[
        R                  " S[        R                  SUR                  S5      R                  5       S9$ )N      test)r   r      name	data_typedimsvalsnprandomrandnastypefloat32r   make_tensorr   FLOATreshapetolistselfnp_arrays     P/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/checker_test.py_sample_float_tensor TestChecker._sample_float_tensor   ^    99??1a(//

;!!!''!!!$++-	
 	
    shapevaluesindices_shapeindicesr   c                 f   [        5       nUR                  R                  U5        [        U5      nUR                  R                  [        R                  " U[        R                  U4U5      5        UR                  R                  [        R                  " S[        R                  X45      5        U$ )Nspind)r   r   extendlenr,   CopyFromr   r   r   INT64r.   )r$   r+   r,   r-   r.   r   sparsennzs           r&   make_sparseTestChecker.make_sparse!   s     #$5!&kt[%6%6G	
 	w(9(9=R	
 r*   Nc                 b    [         R                  " SS/S/SS9n[        R                  " U5        g )NReluXYr   r   r   	make_noder   
check_noder$   nodes     r&   test_check_nodeTestChecker.test_check_node5   s*    u6B4 r*   c                 N   [         R                  " S/ S/SS9n[        R                  " U5        [         R                  " SS/S/SS9n[        R                  " U5        [         R                  " SS/S/SS9nU R	                  [        R
                  [        R                  U5        g )NGivenTensorFillr<   r   r=    r:   )r   r?   r   r@   assertRaisesValidationErrorrA   s     r&   %test_check_node_input_marked_optional1TestChecker.test_check_node_input_marked_optional:   s     12u6J4   1B4#VL4  se&A'1173E3EtLr*   c           	      n   Sn[         R                  " SS5      [         R                  " US5      /nSnSS/nS/n[         R                  " S	S/S
/US9[         R                  " S	S/S/US9[         R                  " SS
S/S/US9/n[         R                  " UUUUUU5      n[        R
                  " U5        g )NlocalrG         func_nested_identity_addabcfunc_identitya1)domainb1func_add)r   make_opsetidr?   make_functionr   check_function)r$   func_domainfunc_nested_opset_importsfunc_nested_identity_add_namefunc_nested_identity_add_inputs func_nested_identity_add_outputsfunc_nested_identity_add_nodesrP   s           r&   test_check_function_nested&TestChecker.test_check_function_nestedG   s    B'Q/%
!
 )C%+.*',/5(_sedVKP_sedVKPZ$u[Q*
&
 $*#7#7)+,*%$
  	78r*   c                   ^ [         R                  R                  5       mSTl        S[        R
                  R                  5       0Tl        S[        SS 4U4S jjn[        R                  " SS/S/S	S
9n[        R                  " U/S	[        R                  " S[        R                  SS/5      /[        R                  " S[        R                  SS/5      /5      nU" U5        UR                  R!                  U R"                  /5        SUR                  S   l        U R'                  [         R(                  X5        SUR                  S   l        U" U5        g )Nr   rG   gr   c                 4   > [         R                  " U T5        g N)r   check_graph)re   ctxs    r&   check_ir_version_3ETestChecker.test_check_graph_ir_version_3.<locals>.check_ir_version_3e   s    3'r*   r:   r;   r<   r   r=   rO   r   no-existr   )r   CCheckerContext
ir_versiononnxdefsonnx_opset_versionopset_importsr   r   r?   
make_graphmake_tensor_value_infor   r    initializerr1   r'   r   rH   rI   )r$   rj   rB   graphri   s       @r&   test_check_graph_ir_version_3)TestChecker.test_check_graph_ir_version_3`   s'   ii&&(!=!=!?@	(* 	( 	( u6B!!F**30A0AAq6JK**30A0AAq6JK	
 	5!  $";";!<=$.!!'113EM$'!!5!r*   c                 &   [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[        R                  " U5        UR                  R                  U R                  /5        SUR                  S	   l        [        R                  " U5        SUR                  S	   l        [        R                  " U5        g )
Nr:   r;   r<   r   r=   rO   r   rl   r   )r   r?   rt   ru   r   r    r   rh   rv   r1   r'   r   r$   rB   rw   s      r&   test_check_graphTestChecker.test_check_graphz   s    u6B!!F**30A0AAq6JK**30A0AAq6JK	
 	E"  $";";!<=$.!!E"$'!!E"r*   c                    [         R                  " SSS/S/SS9n[         R                  " SS/S/S	S9n[         R                  " X/S
[         R                  " S[        R
                  SS/5      [         R                  " S[        R                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " US
S9nU R                  [        R                  [        R                  US5        [        R                  " U5        [         R                  " X/S
[         R                  " S[        R
                  SS/5      [         R                  " S[        R                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " US
S9nU R                  [        R                  [        R                  US5        [        R                  " U5        g )NDivr;   r<   Ztest_divr=   IdentityWtest_identityr   rO   r   producer_nameT)r   r?   rt   ru   r   r    BOOL
make_modelrH   r
   InferenceErrorr   check_modelrh   INT32)r$   node_divnode_identityrw   models        r&   test_check_graph_types"TestChecker.test_check_graph_types   s   
 ##EC:u:N((cUSEX!!%--c;3D3Dq!fM--c;3C3CaVL
 **30A0AAq6JK	
 !!%v>**G,?,?	
 	E"!!%--c;3D3Dq!fM--c;3D3Dq!fM
 **30A0AAq6JK	
 !!%v>**G,?,?	
 	E"r*   c                    [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[        R                  " U5        UR                  R                  U R                  /5        SUR                  S	   l        U R                  [        R                  [        R                  U5        g )
Nr:   r;   r<   r   r=   rO   r   rG   r   )r   r?   rt   ru   r   r    r   rh   rv   r1   r'   r   rH   rI   r{   s      r&   'test_check_graph_empty_initializer_name3TestChecker.test_check_graph_empty_initializer_name   s    u6B!!F**30A0AAq6JK**30A0AAq6JK	
 	E" 	  $";";!<=$&!!'1173F3FNr*   c                    [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[        R                  " U5        U R                  S// S	QS
// SQS5      nUR                  R                  U/5        U R                  [        R                  [        R                  U5        g )Nr:   r;   r<   r   r=   rO   r   d            r   	      Q   rG   )r   r?   rt   ru   r   r    r   rh   r7   sparse_initializerr1   rH   rI   r$   rB   rw   r5   s       r&   .test_check_graph_empty_sparse_initializer_name:TestChecker.test_check_graph_empty_sparse_initializer_name   s    u6B!!F**30A0AAq6JK**30A0AAq6JK	
 	E" !!3%sKL  ''1'1173F3FNr*   c                 r   [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[        R                  " U5        UR                  R                  U R                  /5        SUR                  S   l        U R                  S	// S
QS// SQS5      nUR                  R                  U/5        U R                  [        R                  [        R                  U5        g )Nr:   r;   r<   r   r=   rO   r   r   r   r   r   r   )r   r?   rt   ru   r   r    r   rh   rv   r1   r'   r   r7   r   rH   rI   r   s       r&   %test_check_graph_duplicate_init_names1TestChecker.test_check_graph_duplicate_init_names   s   u6B!!F**30A0AAq6JK**30A0AAq6JK	
 	E"  $";";!<=$'!! !!3%sKM  ''1'1173F3FNr*   c                     [         R                  " SS/S/SS9n[         R                  " U/S/ [         R                  " S[        R
                  SS/5      /5      n[        R                  " U5        g )NrF   rG   r<   r   r=   rO   r   )r   r?   rt   ru   r   r    r   rh   r{   s      r&   test_check_graph_optional_input+TestChecker.test_check_graph_optional_input   sg     1B4#VL!!F**30A0AAq6JK	
 	E"r*   c                    [         R                  " SS/S/SS9n[         R                  " SS/S/SS9n[         R                  " X/S[         R                  " S[        R
                  S	S
/5      [         R                  " S[        R
                  S	S
/5      /[         R                  " S[        R
                  S	S
/5      /S9nU R                  [        R                  [        R                  U5        g )Nr:   r;   r   relu1r=   r<   relu2r   rO   r   inputsoutputs
r   r?   rt   ru   r   r    rH   r   rI   rh   )r$   r   r   rw   s       r&   test_check_graph_ssa TestChecker.test_check_graph_ssa   s      #GD  #GD!!N--c;3D3Dq!fM--c;3D3Dq!fM 2238I8IAq6RS
 	'1173F3FNr*   c                    [         R                  " SS/S/SSS9n[         R                  " SS/S/SS	S9n[         R                  " X!/S
[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /S9nU R                  [        R                  [        R                  U5        g )NScaler;   r<          @n1scaler   r         @n2r   rO   r   r   r   )r$   r   r   rw   s       r&   %test_check_graph_topologically_sorted1TestChecker.test_check_graph_topologically_sorted  s    guse3TJguse3TJ!!H11#{7H7H1a&QR2238I8IAq6RS	
 	'1173F3FNr*   c                 \   [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " USS9n[        R                  " U5        g 	Nr:   r;   r<   r   r=   rO   r   r   )	r   r?   rt   ru   r   r    r   r   r   r$   rB   rw   r   s       r&   test_check_modelTestChecker.test_check_model  s    u6B!!F**30A0AAq6JK**30A0AAq6JK	
 !!%v>E"r*   c                 x   [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " USS9n[        R                  " UR                  5       5        g r   )
r   r?   rt   ru   r   r    r   r   r   SerializeToStringr   s       r&   test_check_serialized_model'TestChecker.test_check_serialized_model  s    u6B!!F**30A0AAq6JK**30A0AAq6JK	
 !!%v>E3356r*   c                    [         R                  " SS/S/SS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " S	S5      n[         R                  " USU/S
9n[        R                  " U5        g )NPadr;   r<   )r   r   r   r   )paddingsr   rO   r   rG   r   rs   
r   r?   rt   ru   r   r    rY   r   r   r   r$   rB   rw   onnx_idr   s        r&   test_check_old_model TestChecker.test_check_old_model(  s    uselK!!F**30A0AAq6JK**30A0AAq6JK	
 %%b!,!!%vgYWE"r*   c                 F   U R                   n[        R                  " U5        [        R                  R                  SS5      R                  [        R                  5      R                  5       Ul	        U R                  [        R                  [        R                  U5        g )Nr   r   )r'   r   check_tensorr   r   r   r   r   tobytesraw_datarH   rI   r$   tensors     r&   test_check_tensorTestChecker.test_check_tensor5  sg    **V$))//!Q/66rzzBJJL'1173G3GPr*   c                 d   [        5       n[         R                  Ul        UR                  R	                  S5        UR
                  R	                  S5        [        R                  " U5        UR
                  S S 2	 SUl        U R                  [        R                  [        R                  U5        g )NrO   s   Test)r   STRINGr   r   appendstring_datar   r   r   rH   rI   r   s     r&   test_check_string_tensor$TestChecker.test_check_string_tensor<  s~    &--1!!'*V$q!!'1173G3GPr*   c                     U R                   n[        R                  Ul        U R	                  [
        R                  [
        R                  U5        g rg   )r'   r   r   r   rH   r   rI   r   r   s     r&   "test_check_tensor_mismatched_field.TestChecker.test_check_tensor_mismatched_fieldH  s9    **&,,'1173G3GPr*   c                 `   [         R                  " SS/S/SSS9n[         R                  " SS/S/SS	S9n[         R                  " X/S
/ [         R                  " S[        R
                  SS/5      /S9n[         R                  " SS/S/X3S9n[         R                  " U/S[         R                  " S[        R                  S/5      [         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /S9n[        R                  " U5        g Nr   r;   r<   r   r   r   r   r   r   nestedrO   r   r   Ifcond)then_branchelse_branchr   )	r   r?   rt   ru   r   r    r   r   rh   )r$   r   r   rw   i1s        r&   test_nested_graphTestChecker.test_nested_graphM  s   guse3TJguse3TJ!!H2238I8IAq6RS	
 6(SEu
 !!D--fk6F6FL--c;3D3Dq!fM 2238I8IAq6RS
 	E"r*   c                    [         R                  " SS/S/SSS9n[         R                  " SS/S/SS	S9n[        R                  " 5       nSUl        [         R
                  " X/S
/ [         R                  " S[        R                  SS/5      /S9n[         R                  " SS/S/XDS9n[         R
                  " U/S[         R                  " S[        R                  S/5      [         R                  " S[        R                  SS/5      /[         R                  " S[        R                  SS/5      /S9n[        R                  " U5        g r   )r   r?   rp   ValueInfoProtor   rt   ru   r   r    r   r   rh   )r$   r   r   input_xrw   r   s         r&   .test_nested_graph_without_subgraph_input_shape:TestChecker.test_nested_graph_without_subgraph_input_shapeh  s.   guse3TJguse3TJ%%'!!H2238I8IAq6RS	
 6(SEu
 !!D--fk6F6FL--c;3D3Dq!fM 2238I8IAq6RS
 	E"r*   c                     [         R                  R                  SS5      R                  [         R                  5      n[
        R                  " S[        R                  SUR                  S5      R                  5       S9$ )Nr   r   r   )r   r   r   r   r#   s     r&   _sample_0_elem_tensor!TestChecker._sample_0_elem_tensor  r)   r*   c                 H    U R                   n[        R                  " U5        g rg   )r   r   r   r   s     r&   test_check_tensor_zero_elem'TestChecker.test_check_tensor_zero_elem  s    ++V$r*   c                 f    [         R                  " S/ S/SSS/S9n[        R                  " U5        g )NConstantFillr<   r   rO   r   )r   r+   r>   rA   s     r&   "test_check_removed_experimental_op.TestChecker.test_check_removed_experimental_op  s/    SEqRSfU4 r*   c                    [         R                  " SS/S/SSS9n[         R                  " U/S[         R                  " S[        R
                  SS/5      /[         R                  " S[        R
                  SS/5      /5      n[         R                  " SS5      n[         R                  " USU/S	9n[        R                  " U5        g )
N
NonExistOpr;   r<   r   ztest.domain)r   rV   rO   r   r   r   r   s        r&   -test_skip_schema_check_on_non_standard_domain9TestChecker.test_skip_schema_check_on_non_standard_domain  s    3%#VM
 !!F**30A0AAq6JK**30A0AAq6JK	
 %%mQ7!!%vgYWE"r*   c                 d    U R                  S// SQS// SQ5      n[        R                  " U5        g )Nr   r   r   r   r7   r   check_sparse_tensorr$   r5   s     r&   test_check_sparse_tensor$TestChecker.test_check_sparse_tensor  s*    !!3%sKH##F+r*   c                     U R                  S// SQS// SQ5      nU R                  [        R                  [        R                  U5        g )Nr   r   r   )r   r      r7   rH   r   rI   r   r   s     r&   &test_check_sparse_tensor_invalid_index2TestChecker.test_check_sparse_tensor_invalid_index  s;    !!3%sLI'1173N3NPVWr*   c                     U R                  S// SQS// SQ5      nU R                  [        R                  [        R                  U5        g )Nr   r   r   )r   r   r   r  r   s     r&   "test_check_sparse_tensor_unordered.TestChecker.test_check_sparse_tensor_unordered  s;    !!3%sKH'1173N3NPVWr*   c                 h    U R                  SS// SQSS// SQ5      n[        R                  " U5        g )N
   r   r   r   r   r   r         rO   r   r   s     r&   #test_check_sparse_tensor_coo_format/TestChecker.test_check_sparse_tensor_coo_format  s/    !!2r(L1a&BTU##F+r*   c                     U R                  SS// SQSS// SQ5      nU R                  [        R                  [        R                  U5        g )Nr
  r   r   r   )r   r   r   r   r  rO   r  r   s     r&   1test_check_sparse_tensor_coo_format_invalid_index=TestChecker.test_check_sparse_tensor_coo_format_invalid_index  s@    !!2r(L1a&BUV'1173N3NPVWr*   c                     U R                  SS// SQSS// SQ5      nU R                  [        R                  [        R                  U5        g )Nr
  r   r   r   r  r  r   s     r&   1test_check_sparse_tensor_coo_format_invalid_shape=TestChecker.test_check_sparse_tensor_coo_format_invalid_shape  s@    !!2r(L1a&BTU'1173N3NPVWr*   c                     U R                  SS// SQSS// SQ5      nU R                  [        R                  [        R                  U5        g )Nr
  r   r   rO   )r   rO   r   r  r   s     r&   0test_check_sparse_tensor_coo_format_invalid_dim2<TestChecker.test_check_sparse_tensor_coo_format_invalid_dim2  s?    !!2r(L1a&)L'1173N3NPVWr*   c                    SnSn[         R                  " S[        R                  U/5      nU R	                  X// SQS// SQ5      n[         R
                  " S/ S/US	9n[         R                  " S
[        R                  U/5      n[         R
                  " SSS/S
/5      n[         R                  " XW/SU/U/5      n[        R                  " U5        g )N   r
  r;   )r   r   rO   r   )r      %   Constantrm   )sparse_valuer<   MatMulsparse_matmul)	r   ru   r   r    r7   r?   rt   r   rh   )	r$   MNr;   sparse_tensornode1r<   node2rw   s	            r&   test_check_sparse_matmul$TestChecker.test_check_sparse_matmul  s    ))#{/@/@1#F((!QCM  R#]S))#{/@/@1#F  C:u=!!5./A3LE"r*   c                    Sn[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R
                  " SS5      n[         R                  " SSS/S/5      n[         R                  " U/SX#/U/5      n[         R                  " US	U/S
9nU R                  [        R                  [        R                  US5        g Nr
  r;   r<   r   rG   r   Addtest_add_inputr   r   T)r   ru   r   r   r    rY   r?   rt   r   rH   r
   r   r   r   	r$   r"  r;   r<   r   r   rB   rw   r   s	            r&   'test_check_model_unsupported_input_type3TestChecker.test_check_model_unsupported_input_type  s    ))#{/?/?!E))#{/@/@1#F))#{/@/@1#F%%b!,SzC59!!4&*:QFQCH!!%vgYW**G,?,?	
r*   c                    Sn[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R
                  " SS5      n[         R                  " SSS/S/5      n[         R                  " U/SX#/U/5      n[         R                  " US	U/S
9nU R                  [        R                  [        R                  US5        g r)  )r   ru   r   r    r   rY   r?   rt   r   rH   r
   r   r   r   r,  s	            r&   "test_check_model_inconsistent_type.TestChecker.test_check_model_inconsistent_type  s    ))#{/@/@1#F))#{/@/@1#F))#{/@/@1#F%%b!,SzC59!!4&*:QFQCH!!%vgYW**G,?,?	
r*   c                    Sn[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R                  " S[        R                  U/5      n[         R
                  " SS5      n[         R                  " SSS/S/5      n[         R                  " U/SX#/U/5      n[         R                  " US	U/S
9nU R                  [        R                  [        R                  US5        g r)  )r   ru   r   r    r   rY   r?   rt   r   rH   r
   r   r   r   r,  s	            r&   (test_check_model_unsupported_output_type4TestChecker.test_check_model_unsupported_output_type  s    ))#{/@/@1#F))#{/@/@1#F))#{/?/?!E%%b!,SzC59!!4&*:QFQCH!!%vgYW**G,?,?	
r*   c           $      	   [         R                  " [         R                  " SS5      /S[         R                  " S[         R                  " S[
        R                  S/S9[         R                  " S[
        R                  / S9[         R                  " S	[
        R                  S/S9[         R                  " S
[
        R                  / S9[         R                  " S[
        R                  S/S9/[         R                  " S[
        R                  S/S9/[        R                  " [        R                  " S[        R                  S9SS9[        R                  " [        R                  " S/[        R                  S9S	S9[        R                  " [        R                  " S[        R                  S9S
S9[        R                  " [        R                  " S/[        R                  S9SS9/[         R                   " SS/S/SS[
        R                  S9[         R                   " SSS
/S/SSS9[         R                   " SS/S/SSS9[         R                   " S/ SQSS /S![         R                  " S"[         R                  " S#[
        R                  / S9[         R                  " S$[
        R"                  / S9[         R                  " S%[
        R                  S/S9[         R                  " S&[
        R                  S/S9[         R                  " S'[
        R                  / S9/[         R                  " S([
        R"                  / S9[         R                  " S)[
        R                  S/S9[         R                  " S&[
        R                  S/S9/[        R                  " [        R                  " S[        R                  S9S'S9/[         R                   " S*S%S&/S)/S+S,9[         R                   " SS)/S-/S.S[
        R                  S9[         R                   " SS-S'/S//S0SS9[         R                   " SS//S(/S1SS9/S29S39[         R                   " S4S/S5/S6S7/S89[         R                   " S9S5S	/S/S9S,9/S29S:9n[$        R&                  " US;S<9  g )=NrG   r  r   	test-loopinput_0rO   r+   while_maximum_iterations_0const_fold_opt__18const_fold_opt__17Const_0output_0    dtyper=         $@Castwhile_cond_158_while_Less__13_0while_cond_158_while_Less__13r   r   r   rV   toLesswhile_cond_158_while_Less_0while_cond_158_while_Lessr   r   r   rV   Squeezewhile_cond_158_while_Squeeze_0while_cond_158_while_SqueezeLoopr9  rM  r7  r<  while_loop_0while_loop_1
while_loop
while_bodywhile_while_loop_counter_0
cond__15_0while_placeholder_0while_add_const_0_0const_fold_opt__191cond___while_Identity_graph_outputs_Identity__3_0while_Identity_2_0r*  	while_Addr   r   r   cond___while_Less__13_0cond___while_Less__13cond___while_Less_0cond___while_Lesscond___while_Squeezer   r   r   rv   nodesr   r   r   body	UnsqueezeReshape_tensor_0Reshape_tensorr   r   r   r   axesReshapers   ro   rw   T
full_check)r   r   make_operatorsetidrt   ru   r   r   r4   r    r	   
from_arrayr   arrayint64r   int32r?   r   r   r   r$   r   s     r&   /test_loop_with_same_initializer_input_below_ir4;TestChecker.test_loop_with_same_initializer_input_below_ir4  s   
 !!!44R;<## 11!;#4#4QC 114k6G6Gr 11,k.?.?s 11,k.?.?r 11!;#4#4QC$ 11"K$5$5aS !++!4BHHE9 !++"RXX6=Q !++RZZ8?S !++!BHH5I  $$ ){!B C<!&,, $$=0  "? ?8!	 $$! =>!A B;! $$  "0 @)#..!- & = =$@$/$5$5*,!"
 !' = =$0+2B2B"!" !' = =$9;;L;LUVTW!" !' = =$9;;L;LUVTW!" !' = =$8+:K:KSU!"$( !' = =$W$/$4$4*,!"
 !' = =$8+:K:KTUSV!" !' = =$9;;L;LUVTW!"% !- 7 7$&HHT$D)=!") !' 0 0$)(=(=,& .B,B)4!" !' 0 0$*,@+A-F,G)@+-'2'8'8!" !' 0 0$*(A(<,& .C,C)<+-	!" !' 0 0$-,A+B([-& *@+-!"9%#QNYt $$# ./!3 4-S $$! 24HI!+&	wAOim
^ 	Ed3r*   c           #      x   [         R                  " [         R                  " SS5      /S[         R                  " S[         R                  " S[
        R                  S/S9[         R                  " S[
        R                  / S9[         R                  " S	[
        R                  S/S9[         R                  " S
[
        R                  / S9[         R                  " S[
        R                  S/S9/[         R                  " S[
        R                  S/S9/[        R                  " [        R                  " S[        R                  S9SS9[        R                  " [        R                  " S/[        R                  S9S	S9[        R                  " [        R                  " S[        R                  S9S
S9[        R                  " [        R                  " S/[        R                  S9SS9/[         R                   " SS/S/SS[
        R                  S9[         R                   " SSS
/S/SSS9[         R                   " SS/S/SSS9[         R                   " S/ SQSS /S![         R                  " S"[         R                  " S#[
        R                  / S9[         R                  " S$[
        R"                  / S9[         R                  " S%[
        R                  S/S9[         R                  " S&[
        R                  S/S9[         R                  " S	[
        R                  / S9/[         R                  " S'[
        R"                  / S9[         R                  " S([
        R                  S/S9[         R                  " S&[
        R                  S/S9// [         R                   " S)S%S&/S(/S*S+9[         R                   " SS(/S,/S-S[
        R                  S9/S.9S/9[         R                   " S0S/S1/S2S3/S49[         R                   " S5S1S	/S/S5S+9/S.9S69nU R%                  [&        R(                  [*        R,                  US75        g )8NrG   r  r   r6  r7  rO   r8  r9  r:  r;  r<  r=  r>  r?  r=   rA  rB  rC  rD  rE  rF  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rZ  r[  r*  r\  r]  r^  r_  rc  re  rg  rh  ri  r   rj  rl  rm  Tr   r   rp  rt   ru   r   r   r4   r    r	   rq  r   rr  rs  r   rt  r?   r   rH   r
   r   r   r   ru  s     r&   4test_loop_with_different_initializer_input_below_ir4@TestChecker.test_loop_with_different_initializer_input_below_ir4  s-   
 !!!44R;<## 11!;#4#4QC 114k6G6Gr 11,k.?.?s 11,k.?.?r 11!;#4#4QC$ 11"K$5$5aS !++!4BHHE9 !++"RXX6=Q !++RZZ8?S !++!BHH5I  $$ ){!B C<!&,, $$=0  "? ?8!	 $$! =>!A B;! $$  "0 @)#..!- & = =$@$/$5$5*,!"
 !' = =$0+2B2B"!" !' = =$9;;L;LUVTW!" !' = =$9;;L;LUVTW!" !' = =$8+:K:KSU!"!$* !' = =$W$/$4$4*,!"
 !' = =$8+:K:KTUSV!" !' = =$9;;L;LUVTW!"% )+ & 0 0$)(=(=,& .B,B)4!" !' 0 0$*,@+A-F,G)@+-'2'8'8!"#I7BF $$# ./!3 4-S $$! 24HI!+&	IjORV
n 	**G,?,?	
r*   c           $      	   [         R                  " [         R                  " SS5      /S[         R                  " S[         R                  " S[
        R                  S/S9[         R                  " S[
        R                  / S9[         R                  " S	[
        R                  S/S9[         R                  " S
[
        R                  / S9[         R                  " S[
        R                  S/S9/[         R                  " S[
        R                  S/S9/[        R                  " [        R                  " S[        R                  S9SS9[        R                  " [        R                  " S/[        R                  S9S	S9[        R                  " [        R                  " S[        R                  S9S
S9[        R                  " [        R                  " S/[        R                  S9SS9/[         R                   " SS/S/SS[
        R                  S9[         R                   " SSS
/S/SSS9[         R                   " SS/S/SSS9[         R                   " S/ SQSS /S![         R                  " S"[         R                  " S#[
        R                  / S9[         R                  " S$[
        R"                  / S9[         R                  " S%[
        R                  S/S9[         R                  " S&[
        R                  S/S9/[         R                  " S'[
        R"                  / S9[         R                  " S([
        R                  S/S9[         R                  " S&[
        R                  S/S9/[        R                  " [        R                  " S)[        R                  S9S#S9/[         R                   " S*S%S&/S(/S+S,9[         R                   " SS(/S-/S.S[
        R                  S9[         R                   " SS-S#/S//S0SS9[         R                   " SS//S'/S1SS9/S29S39[         R                   " S4S/S5/S6S7/S89[         R                   " S9S5S	/S/S9S,9/S29S:9nU R%                  [&        R(                  [*        R,                  US;5        g )<NrG   r  r   r6  r7  rO   r8  r9  r:  r;  r<  r=  r>  r?  r=   rA  rB  rC  rD  rE  rF  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rW  rX  rZ  r[  r
  r*  r\  r]  r^  r_  r`  ra  rb  rc  re  rg  rh  ri  r   rj  rl  rm  Try  ru  s     r&   /test_loop_with_same_initializer_input_above_ir4;TestChecker.test_loop_with_same_initializer_input_above_ir4Q  s    !!!44R<=## 11!;#4#4QC 114k6G6Gr 11,k.?.?s 11,k.?.?r 11!;#4#4QC$ 11"K$5$5aS !++!4BHHE9 !++"RXX6=Q !++RZZ8?S !++!BHH5I  $$ ){!B C<!&,, $$=0  "? ?8!	 $$! =>!A B;! $$  "0 @)#..!- & = =$@$/$5$5*,!"
 !' = =$0+2B2B"!" !' = =$9;;L;LUVTW!" !' = =$9;;L;LUVTW!"$" !' = =$W$/$4$4*,!"
 !' = =$8+:K:KTUSV!" !' = =$9;;L;LUVTW!"% !- 7 7$&HHRrxx$@)E!") !' 0 0$)(=(=,& .B,B)4!" !' 0 0$*,@+A-F,G)@+-'2'8'8!" !' 0 0$*(A(D,& .C,C)<+-	!" !' 0 0$-,A+B([-& *@+-!"9%#MLWp $$# ./!3 4-S $$! 24HI!+&	sOgk
X 	**G,?,?	
r*   c                     [         R                  R                  S5      n[        R                  " USS9  [         R                  R                  S5      n[        R                  " USS9  g )Nz
            <
                ir_version: 7,
                opset_import: [ "" : 17]
            >
            agraph (float[N] x) => (int64[M] y)
            {
                y = Constant <value_ints: ints = []>()
            }
        Trn  z
            <
                ir_version: 7,
                opset_import: [ "" : 17]
            >
            agraph (float[N] x) => (float[M] y)
            {
                y = Constant <value_floats: floats = []>()
            }
        )rp   parserparse_modelr   r   ru  s     r&   test_empty_list_attribute%TestChecker.test_empty_list_attribute  sX    ''	
 	Ed3''	
 	Ed3r*    )spval)r   N)4__name__
__module____qualname____firstlineno__propertyr   r'   r   intstrr   r7   rC   rJ   rb   rx   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  rv  rz  r}  r  __static_attributes__r  r*   r&   r   r      s]   
k 
 
 }   }	
 #  
(!
M92"4#$,#\OOO$	#O
O
#
7#Q
QQ
#6#: 
{ 
 
%!#,X
X
,XXX#"


t4l^
@r
h4r*   r   __main__)unittesttypingr   numpyr   	onnx.defsrp   onnx.parserr   r   r   r   r   r	   r
   TestCaser   r  mainr  r*   r&   <module>r     sR          K4(## K4\  zMMO r*   