
    Ogi                       U 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mc m	Z	 d dl
mZ d dlmZmZmZmZmZmZmZmZmZmZmZ d dlmZ erd dlmZ  ej8                         Zded	<   	 	 	 	 d/dZ e d      Z!d0dZ"	 	 	 	 d1dZ# e d      Z$ e d      Z%d2dZ&d2dZ' e d      Z( e d      Z)d3dZ*dZ+ ejX                  e+      Z-ded<   d4dZ.	 	 	 	 	 	 	 	 d5dZ/d6dZ0d6dZ1ejd                  dejf                  dejh                  d ejj                  dejl                  dejn                  dejp                  d
iZ9	 	 	 	 d7d!Z:d8d"Z;d9d#Z<d9d$Z=	 	 	 	 	 	 d9d%Z>	 	 	 	 	 	 d:d&Z?	 	 	 	 	 	 d9d'Z@ e d(      ZAd;d)ZBd<d*ZC G d+ d,      ZD G d- d.      ZEy)=    )annotationsN)TYPE_CHECKING)native_function_manager)ArgumentBackendIndexBaseTyBaseTypeFunctionSchemaNativeFunctionsGroupNativeFunctionsViewGroupOptionalTypeSelfArgumentTensorOptionsArgumentsType)config)Sequencezlogging.Loggerloggerboolc                T    | D ]#  }t        |dd       }|st        |dd      }|s# y y)N
annotation	alias_set TF)getattr)	argumentsargr   r   s       h/var/www/html/suriana-translation/venv/lib/python3.12/site-packages/torchgen/static_runtime/generator.py	has_aliasr   !   s@      S,5
JR8	     )sparse_sampled_addmmhspmmlinalg_svdvalssspaddmmcoalesce_indicesindices_valuesvaluescrow_indicescol_indicesfloor_dividegerconj_physicalbinary_cross_entropyarccoshcholeskylu_solvelinalg_choleskylinalg_householder_productlinalg_ldl_solve_compute_linear_combination
_make_dual
_fw_primal_index_reduce!_new_zeros_with_same_feature_meta_conj_physical binary_cross_entropy_with_logitsbincountconv_tbccopy
_copy_from_copy_from_and_resizecount_nonzerocudnn_affine_grid_generator$cudnn_affine_grid_generator_backwardcudnn_grid_sampler
diag_embed	embeddingembedding_dense_backward_embedding_bag_dense_backward*_embedding_bag_per_sample_weights_backwardgrid_sampler_2d_grid_sampler_2d_cpu_fallbackgrid_sampler_3disnanmkldnn_linearmedian	nanmedian_sparse_sparse_matmulbatch_norm_backward_elemt_euclidean_distpixel_shufflepixel_unshufflechannel_shuffle_reshape_nested_backwardrelupreluceluslice_scatterselect_scatterdiagonal_scattersum_mkldnn_transpose_nested_tensor_from_mask_nested_from_padded_nested_tensor_size&_nested_from_padded_and_nested_example_standard_gamma_grad_dirichlet_gradnative_norm_sparse_softmax_sparse_softmax_backward_data_sparse_log_softmax!_sparse_log_softmax_backward_datazero_sparse_addmmsparse_mask_sparse_mask_projection	_to_dense	_coalesce
_coalescedcopy_sparse_to_sparse	to_sparseto_sparse_csrto_sparse_csc	to_mkldnnquantize_per_tensor_dynamicquantize_per_channelq_per_channel_scalesq_per_channel_zero_pointsint_repr"_make_per_channel_quantized_tensorsetlift
lift_freshlift_fresh_copymasked_scatter_masked_softmax_masked_softmax_backwardputindex_reducetrace_cholesky_solve_helperdistmax_torch_cuda_cu_linker_symbol_opglu_jvpglu_backward_jvphardswish_backwardrrelu_with_noise_backward#mkldnn_adaptive_avg_pool2d_backward_adaptive_avg_pool2d_backward_adaptive_avg_pool3d_backwardisinflinalg_lu_solvelinalg_vecdotlinalg_matrix_explinalg_eigvalsh_test_warn_in_autograd%_test_autograd_multiple_dispatch_view*_test_autograd_multiple_dispatch_view_copy_segment_reduce_segment_reduce_backward_fw_primal_copy_make_dual_copyview_as_real_copyview_as_complex_copy
_conj_copy_neg_view_copydiagonal_copydetach_copysqueeze_copyt_copyunsqueeze_copy_indices_copy_values_copyindices_copyvalues_copycrow_indices_copycol_indices_copyccol_indicesccol_indices_copyrow_indicesrow_indices_copyunfold_copy
alias_copy_triton_multi_head_attentionspecial_airy_aispecial_bessel_j0special_bessel_j1special_bessel_y0special_bessel_y1special_chebyshev_polynomial_tspecial_chebyshev_polynomial_uspecial_chebyshev_polynomial_vspecial_chebyshev_polynomial_wspecial_hermite_polynomial_hspecial_hermite_polynomial_hespecial_laguerre_polynomial_lspecial_legendre_polynomial_pspecial_modified_bessel_i0special_modified_bessel_i1special_modified_bessel_k0special_modified_bessel_k1!special_scaled_modified_bessel_k0!special_scaled_modified_bessel_k1&special_shifted_chebyshev_polynomial_t&special_shifted_chebyshev_polynomial_u&special_shifted_chebyshev_polynomial_v&special_shifted_chebyshev_polynomial_wspecial_spherical_bessel_j0_foobar_nested_tensor_strides_nested_tensor_storage_offsets_nested_get_values_nested_get_values_copy_nested_view_from_jagged_nested_view_from_jagged_copy_nested_view_from_buffer_nested_view_from_buffer_copy_int_mm_to_sparse_csc_to_sparse_csrsegment_reducec                   d}d }t        | t              r-| j                  j                  }| j                  j                  }nJ| j
                  j                  j                  j                  j                  }| j
                  j                  }t        j                  |       rt        j                  d|       y|t        v rt        j                  d|       y|j                         D ]1  }t        |j                        }|rt        j                  d|        y t        | t              rSdt!        j"                  |j$                  d      j'                         k7  r t        j                  dt)        |             yy	| j*                  j                  j                         D ]E  }t        |j                        }|rt        j                  d| j*                  j                          y | j,                  sKt/        | d
      r>t)        |      j1                  d      r$t)        |j                        j1                  d      sydt!        j"                  |j$                  d      j'                         k7  rt        j                  d|       yt3        |j4                  j6                        rt        j                  d|       yy	)N zHAND WRITTEN: %sFzBLOCKED: %sz!NOT SUPPORTED TYPE CONVERTING: %sz
at::Tensor)symintzNON-TENSOR RET TYPE: %sToutzTensor(a!) out) -> Tensor(a!)z.outzat::Tensor &zNON_TENSOR RET TYPE: %szINPUTS ALIAS: %s)
isinstancer   view	root_namefuncr   namebaser   is_hand_writtenr   infoBLOCKED_OPSschema_order_argumentsivalue_type_conversion_methodtypecppreturns_typereturnscpp_typestr
functional
structuredhasattrendswithr   r   non_out)gbase_op_namer   r   maybe_methods        r   is_supportedr      s   LD!-.vv''vv{{uuzz++00uuzza &5{"M<0**, 4SXX>KK;TB !-. 3++DLLGPPRRKK13t9= ||  779 4SXX>KK;Q\\=N=NO <<
 5!t9%%&EFtyy>**62))$,,uENNPP-t4''(&5r   c                   t         j                  dt         j                  dt         j                  dt         j                  dt         j
                  dt         j                  di}d}t        | t              r| j                  }nCt        | t              r2t        | j                  t              sy| j                  j                  }ny||vry||   }t        | t              r|d   S |d	   S )
aD  
    Return the method call expression of `c10::ivalue' to convert its contained value to
    the expected value of `arg_type` type. For example, for `arg_type` == BaseTy.Tensor,
    this function returns ".toTensor()", so that it can be appended to the ivalue's
    variable name to get the value of the expected type.
    ))Tz
toTensor())FztoOptional<at::Tensor>()))FztoInt())FztoOptional<int64_t>()))FztoBool())FztoOptional<bool>()))Fz
toScalar())FztoOptional<at::Scalar>()))FztoScalarType())FztoOptional<at::ScalarType>()))FztoStringView())FztoOptional<c10::string_view>()Nr      )r   Tensorintr   Scalar
ScalarTyper   r   r	   r   r   elem)arg_typetype_conversion_methodsbase_ty_objectmethodss       r   r   r   2  s     	R

JIS 
 	

 
 N(H%!	Hl	+(--2!++44%n5G(H%qz1:r   )bitwise_notbitwise_and
bitwise_orbitwise_xorbitwise_left_shiftbitwise_right_shiftgcdlcmscattergather _convert_indices_from_coo_to_csr _convert_indices_from_csr_to_coo)view_as_realimag_conjr   c                    | t         v S N)should_use_int_tensor_ops_op_names    r   should_use_int_tensorr  p  s    000r   c                    | t         v S r  )should_use_complex_tensor_ops_r  s    r   should_use_complex_tensorr  t  s    444r   )	addmv	index_addr  r  nll_loss_backwarddotvdotouterr+   )addmmmmnuclear_normdiag_addmm_activationmatrix_Htr   c                (    | t         v ry| t        v ryy)Nr         )test_tensor_dim_ops_1_test_tensor_dim_ops_2_r  s    r   test_tensor_dimr+    s    ((((r   z{"view_as_complex": "{2, 2}"}zdict[str, str]test_tensor_shape_jsonc                &    | t         v r	t         |    S y)Nr   )r,  r  s    r   test_tensor_shaper.    s    ((%g..r   c                   t        |      }|dk(  rb|dk(  rdnd}t        |      }t        j                  |t	        |      z        }||dz  z  }dj                  dj                  | g|z              }t        |      rd| d	}nt        |      rd
| d}nd| d}t        j                  |t        j                  dt        j                  dt        j                  dt        j                  dt        j                  di}d }	t!        | t"              r| j$                  }	nBt!        | t&              rt!        | j(                  t"              sJ | j(                  j$                  }	|	|v sJ d       ||	   }
|
S )Nr   r      @   r'  z{{{}}},zat::randint(1, 100, z, at::kInt)z
at::randn(z, at::kComplexFloat)z	at::rand()1false2zat::ScalarType::Floatz"floor"znot expected type)r.  r+  mathceilfloatformatjoinr  r  r   r   r   r   r   r   r   r   r	   r   r   r   )r   indexr  tensor_size_exnum_tensorsnum_dimsize_per_dimtensor_expressionvalue_expressionsr   value_expressions              r   test_value_expressionrD    sn    'w/N!QJbB!'*yyuW~!=>q((!l^2E2O)PQW%2>2B+N	"7	+((88LM''7q9 	(

CWs2

I N(H%!(L1jMM87
 	
 
 "++..C0CC.(8r   c                   | j                         rJ | j                  j                  j                  }i }| j                         D ](  }t	        |j
                  ||      }|||j                  <   * t        j                  |||       g }|j                         D ]  \  }}|j                  d| | d|          dj                  |      dz   S )Nzauto z = ;
    ;)	is_out_fnr   r   r   rD  r   r   override_test_valuesitemsappendr;  )	schemar<  schema_namearg_mapr   test_value_exparg_populationsarg_name	arg_values	            r   generate_test_value_definitionsrS    s    !!!++""''KG,,. +.sxxL*+ e<O&}} H)xjs9+FGH>>/*S00r   c                x    | j                         rJ dj                  fd| j                         D              S )Nr2  c              3  >   K   | ]  }|j                       y wr  r   ).0r   r<  s     r   	<genexpr>z,generate_test_value_names.<locals>.<genexpr>  s     TSsxxj(Ts   )rH  r;  r   )rL  r<  s    `r   generate_test_value_namesrY    s3    !!!88TF4Q4Q4STTTr   r   r9  c                \    dd}| j                         D cg c]
  } ||       c}S c c}w )Nc                    | j                   }d}t        |t              r|j                  }d}t        |t              sJ d }|j
                  t        v rt        |j
                     }|r|r| d}d| j
                  z   |fS )NFT?%)r   r   r   r   r	   r   /generate_test_ir_arguments_base_ty_to_type_str_)r   r%  add_optionaltype_strs       r   ir_argumentz/generate_test_ir_arguments.<locals>.ir_argument  s{    HHa&AL!X&&&66DDFqvvNH"1~Hchh))r   )r   r   returnztuple[str, str | None])r   )rL  ra  r   s      r   generate_test_ir_argumentsrc    s+    * )/(E(E(GHKHHHs   )c                   g }t        | j                               D ]P  \  }}t        |j                        }|sJ |\  }}|rdnd}|j	                  d| d|j
                   d| d|        R dj                  |      dz   S )	N&r   z
const auto z = p_node->Input(z).rF  rG  )	enumerater   r   r   rK  r   r;  )rL  rP  ir   r   is_referencetype_conversion_method	references           r   generate_arg_extractionrl    s    OF99;< 
34SXX>|/;,,'CR	1SXXJ.?s"E[D\]	

 >>/*S00r   c                    |j                  | j                        }| j                  s|)t        j                  | j                  j
                        S |j                  S r  )
get_kernelr   r   r   r   r   kernelr   backend_indexro  s      r   get_kernel_namerr    sD    %%all3F||v~xx))**==r   c                    |j                  | j                        }| j                  s|)t        j                  | j                  j
                        S |j                  S r  )rn  r   r   r   r   r   ro  rp  s      r   get_out_kernel_namert  
  sB    %%aee,F||v~xx

##==r   c                    | j                   j                  }|j                         rJ t        | |      }d |j	                         D        }| j
                  rdnd}d| d| ddj                  |       dS )	Nc              3  4   K   | ]  }|j                     y wr  rV  rW  r   s     r   rX  z0generate_non_out_variant_call.<locals>.<genexpr>       EcE   cpunativeat::::(r2  r3  )r   r   rH  rr  r   r   r;  )r   rq  rL  kernel_name	arg_namesnamespace_names         r   generate_non_out_variant_callr    sw     \\F!!!!!]3KEV%B%B%DEIllUN.!K=#((92E1FaHHr   c                   | j                   j                  }t        j                  |      }|j	                  | j                         }|r|j
                  }d |j                         D        }d}d| d| ddj                  |       dS )Nc              3  4   K   | ]  }|j                     y wr  rV  rw  s     r   rX  z,generate_call_to_view_ops.<locals>.<genexpr>$  rx  ry  r{  r|  r}  r~  r2  r3  )r   r   r   r   rn  ro  r   r;  )r   rq  rL  r  ro  r  r  s          r   generate_call_to_view_opsr    s}     VV[[F((6"K%%aff-FmmEV%B%B%DEIN.!K=#((92E1FaHHr   c                
   | j                   j                  }|j                         sJ g }t        | |      }| j                  r.|j
                  j                   D cg c]  }|j                   }}ng }|j
                  j                  D ]e  }t        |t              r&|j                  |j                  j                         9t        |t              sJ |j                  |j                         g | j                  sVt        |j
                  j                         dk(  sJ |j                  |j
                  j                   d   j                         dj                  |      }| j                  rdnd}d| d| d| d	S c c}w )
Nr   r   r2  rz  r{  r|  r}  r~  r3  )r   r   rH  rt  r   r   r   r   r   r   rK  argumentr   lenr;  )	r   rq  rL  r  r  out_argr   cpp_arg_namesr  s	            r   generate_out_variant_callr  )  sL    UUZZFI%a7K||171A1A1E1EFgW\\F	F	'' 'c<(S\\../c8,,,SXX&' <<6##''(A---))--a0556HHY'MllUN.!K=-BB Gs   F )zisin.Scalar_Tensorr  r  r  r!  histcl1_lossmulti_margin_lossmultilabel_margin_lossnll_loss
nll_loss2dprodc                P    t        |       }|d |j                  d       }|t        vS )Nr~  )r   findno_memory_resize_ops)rL  
schema_strtype_variant_op_names      r   should_check_resizer  U  s.    VJ%&<
(<=';;;r   c                j    | j                   j                  j                  j                  j                  S r  )r   r   r   r   )r   s    r   op_name_from_groupr  [  s$    <<!!&&+++r   c                  \    e Zd Z	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZ	 	 	 	 	 	 ddZ	 	 	 	 	 	 d	dZy)
GenOpDispatcherc                8   |syg }|D ]X  }t        |      5  t        |      sJ t        |t              sJ | j	                  ||      }|j                  |       d d d        Z t        |d         }dj                  |      }d| d| d| d}|S # 1 sw Y   xY w)Nr   r   
z&
REGISTER_OPERATOR_FUNCTOR(
    aten::,
    aten_(,
    [](Node* n) -> SROperator {
      z9
      LogAndDumpSchema(n);
      return nullptr;
    })
)r   r   r   r   out_variant_op_generatorrK  r  r;  	selfgroupsrq  generated_type_variantsr   generated_type_variantr  body	generateds	            r   out_variantzGenOpDispatcher.out_variant`  s     "$ 	GA(+ G#A&!!%9:::)-)F)Fq-)X&'../EF	G G	G %VAY/yy01) 

 f 		 #G Gs   ABB	c                L   |syg }|D ]X  }t        |      5  t        |      sJ t        |t              sJ | j	                  ||      }|j                  |       d d d        Z t        j                  |d         }dj                  |      }d| d| d| d}|S # 1 sw Y   xY w)Nr   r   r  z-
REGISTER_NATIVE_OPERATOR_FUNCTOR(
    aten::r  r  z:
      LogAndDumpSchema(n);
      return nullptr;
    });
)	r   r   r   r   view_op_generatorrK  r   func_name_base_strr;  r  s	            r   r   zGenOpDispatcher.viewz  s     "$ 	GA(+ G#A&!!%=>>>)-)?)?=)Q&'../EF	G G	G ++F1I6yy01) 

 f 		 #G Gs   ABB#	c                   |j                   }t        |j                        }t        |j                   j                        }t	        ||      }t        |j                  j                  j                  j                        dk(  sJ t        |j                  j                  j                  j                  d   j                        }t        ||      }d| d| d| d| d| d| d	}	|	S )
Nr   r   +
      if (n->matches(torch::schema("aten::<"))) {
        return [](ProcessedNode* p_node) {
          zM
          if (p_node->Output(0).isNone()) {
            p_node->Output(0) = z2;
            return;
          }
          auto& z< = p_node->Output(0).toTensor();
          fastResizeToZero(z);
          ;
        };
      })
r   r   r   rl  r  r  r   r   r   r  )
r  r   rq  r   rL  populated_argumentfunctional_variant_callout_variable_nameout_variant_callr  s
             r   r  z(GenOpDispatcher.out_variant_op_generator  s     \\
Z__%4Q\\5F5FG"?="Q155::''++,111

 4 4 8 8 ; @ @A4QF++1( 3
 !!8 9 : ## $-. /
 		 r   c                    t        |j                  j                        }t        |j                  j                        }t	        ||      }d| d| d| d}|S )Nr  r  z!
            p_node->Output(0) = r  )r   r   r   rl  r  )r  r   rq  rL  r  r  r  s          r   r  z!GenOpDispatcher.view_op_generator  sj     QVV[[!4QVV[[A";A}"M++1( 3
 !!8 9 :			 r   N)r  Sequence[NativeFunctionsGroup]rq  r   rb  r   )r  "Sequence[NativeFunctionsViewGroup]rq  r   rb  r   r   r   rq  r   rb  r   r   r   rq  r   rb  r   )__name__
__module____qualname__r  r   r  r  r   r   r   r  r  _  sv    4EQ	48IU	4%6B	2):F	r   r  c                  ,    e Zd ZddZddZddZd	dZy)
GenOpTestCasec                    |syg }|D ]W  }t        |      5  t        |      sJ t        |t              sJ | j	                  |      }|j                  |       d d d        Y dj                  |      S # 1 sw Y   txY wNr   r  )r   r   r   r   "out_variant_op_test_case_generatorrK  r;  r  r  r  r   r  s        r   r  zGenOpTestCase.out_variant  s    "$ 	GA(+ G#A&!!%9:::)-)P)PQR)S&'../EF	G G	G yy011G G   AA33A<	c                    |syg }|D ]W  }t        |      5  t        |      sJ t        |t              sJ | j	                  |      }|j                  |       d d d        Y dj                  |      S # 1 sw Y   txY wr  )r   r   r   r   view_op_test_case_generatorrK  r;  r  s        r   r   zGenOpTestCase.view  s    "$ 	GA(+ G#A&!!%=>>>)-)I)I!)L&'../EF	G G	G yy011G Gr  c                   |j                   j                  }t        |      }|j                  d      dkD  sJ |d |j                  d       j	                  dd      }t        |      }|j                  |      sJ t        |      }dj                  d |D              }dj                  d |D              }t        |j                        dk(  rZt        |j                  d   j                  t              r3|j                  d   j                  j                  t        j                   u sJ t#        |d      }	t%        |d      }
t#        |d      }t%        |d      }t'        |      rd	nd
}d| d| d| d| d|	 d|
 d| d| d| d| d}|S )Nr~  r   ._, c              3  8   K   | ]  \  }}||n| d|   y wNz: r   rW  rQ  r   s      r   rX  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>  1      &Hh %,XJb
2KK   c              3  &   K   | ]	  \  }}|  y wr  r   rW  rQ  r  s      r   rX  zCGenOpTestCase.out_variant_op_test_case_generator.<locals>.<genexpr>       EKHaxE   r   truer5  
TEST(StaticRuntime, autogen_1) {
  const std::string script = R"IR(
    graph(?):
        %bias: None = prim::Constant()
        %ret = aten::Q)
        %cloned = aten::clone(%ret, %bias)
        return (%cloned)
  )IR";

  
  std::vector<IValue> args{zj};
  testStaticRuntime(script, args, {}, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

  z
  std::vector<IValue> args2{zm};
  testStaticRuntime(script, args, args2, /*use_allclose=*/false, /*use_equalnan=*/false, /*check_resize=*/z);

}
)r   r   r   r  replacer  
startswithrc  r;  r  r   r   r   r	   r   r   r   rS  rY  r  )r  r   rL  r  r  r  	arg_typesarg_declarationsr  test_value_definitionstest_value_namestest_value_definitions2test_value_names2check_resizer  s                  r   r  z0GenOpTestCase.out_variant_op_test_case_generator  s   ""[
s#a''')*@JOOC,@AII#sS$Q'#..w777.v6	99*3
 IIE9EF	1$6>>!,118<q!&&++v}}<	
= "A!K4VQ?"A&!"L5fa@!4V!<v'12 3
 Ya	{ +
  -. /jjviw x /0 1kkwjx y!	( r   c                   |j                   j                  }t        |      }|j                  d      dkD  sJ |d |j                  d       j	                  dd      }|j                   j
                  }|j                  |      sJ t        |      }dj                  d |D              }dj                  d |D              }t        |j                        dk(  rZt        |j                  d   j                  t              r3|j                  d   j                  j                  t        j                   u sJ t#        |d      }	t%        |d      }
d	| d
| d| d| d|	 d|
 d}|S )Nr~  r   r  r  r  c              3  8   K   | ]  \  }}||n| d|   y wr  r   r  s      r   rX  z<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>  r  r  c              3  &   K   | ]	  \  }}|  y wr  r   r  s      r   rX  z<GenOpTestCase.view_op_test_case_generator.<locals>.<genexpr>  r  r  r   r  r  r  r  r  z(};
  testStaticRuntime(script, args);
}
)r   r   r   r  r  r   r  rc  r;  r  r   r   r   r	   r   r   r   rS  rY  )r  r   rL  r  r  r  r  r  r  r  r  r  s               r   r  z)GenOpTestCase.view_op_test_case_generator  sv   [
s#a''')*@JOOC,@AII#sS&&""#..w777.v6	99*3
 IIE9EF	1$6>>!,118<q!&&++v}}<	
= "A!K4VQ?12 3
 Ya	{ +
  -. /	  r   N)r  r  rb  r   )r  r  rb  r   r   r   rb  r   )r   r   rb  r   )r  r  r  r  r   r  r  r   r   r   r  r    s    
2
2.`'r   r  )r   z:Sequence[Argument | SelfArgument | TensorOptionsArguments]rb  r   )r   z/NativeFunctionsGroup | NativeFunctionsViewGrouprb  r   )r   BaseType | OptionalType | Typerb  ztuple[bool, str] | None)r  r   rb  r   )r  r   rb  r   )r  r   rb  r   )r   r  r<  r   r  r   rb  r   )rL  r
   r<  r   rb  r   )rL  r
   rb  zlist[tuple[str, str | None]])rL  r
   rb  r   r  r  )rL  r
   rb  r   r  )F
__future__r   jsonloggingr7  typingr   torchgen.api.cppapir   torchgen.contextr   torchgen.modelr   r   r   r	   r
   r   r   r   r   r   r   torchgen.static_runtimer   collections.abcr   	getLoggerr   __annotations__r   	frozensetr   r   r   r  r  r  r  r)  r*  r+  test_tensor_shapes_stringloadsr,  r.  rD  rS  rY  r   r   r9  r   r   r   r   r^  rc  rl  rr  rt  r  r  r  r  r  r  r  r  r   r   r   <module>r     sJ   "        4    + ( +**, ,
I
	
 CEP9x(,((V '   "++L!M 15 #
  #Q 
 < )34M)N  N$,$58$CF$$N1U MM8
JJ
LL'
JJ
MM5
u
KK3 /II!I(
1II,8II
I
I0<
I
ICC,8CC4 ! $<,[ [|p pr   