
    JTh                       S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
Jr  S SKJr  S SKJrJrJrJrJrJrJrJrJrJr  \(       a  S SKJr  \" S	S
9 " S S5      5       r\" S	S
9 " S S5      5       r\" S	S
9 " S S\5      5       r\" S	S
9 " S S5      5       r\" S	S
9 " S S\5      5       r\" S	S
9 " S S5      5       r \" S	S
9 " S S5      5       r!\" S	S
9 " S S5      5       r"\" S	S
9 " S S5      5       r#\" S	S
9 " S S5      5       r$SS .S@S! jjr%SAS" jr&SS	S#.       SBS$ jjr'SCS% jr(SDS& jr)SSS'.       SES( jjr*SSS'.         SFS) jjr+SGS* jr,SHS+ jr-SHS, jr.SIS- jr/SJS. jr0 SK       SLS/ jjr11 S0kr2SMS1 jr3SMS2 jr4S3S4.     SNS5 jjr5S	S6.         SOS7 jjr6S	S6.       SPS8 jjr7S	S6.       SQS9 jjr8S:S;S<S=S=S>.r9S	S6.       SRS? jjr:g3)S    )annotations)	dataclass)TYPE_CHECKING)cpp)BindingCppSignatureCppSignatureGroup)pythonify_default)
ArgumentBaseTyBaseTypeFunctionSchemaListTypeNativeFunctionOptionalTypeReturnTypeVariant)SequenceT)frozenc                       \ rS rSr% S\S'   Srg)PythonReturns   tuple[Return, ...]returns N__name__
__module____qualname____firstlineno____annotations____static_attributes__r       K/var/www/auris/envauris/lib/python3.13/site-packages/torchgen/api/python.pyr   r      s    r$   r   c                  p    \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	S
S.SS jjrS	S	S.     SS jjrSrg)PythonArgument   strnamer   type
str | Nonedefaultdefault_initFTmethodsymintc               >   [        U R                  US9R                  SS5      R                  SS5      nU R                  nUS:X  a  US;   a	  U(       d  SnU R                  b5  SSSSS	.R                  U R                  U R                  5      nU S
U SU 3$ U S
U 3$ )Nr1   zconst  z &self)TensorNumberinputNone)nullptr::std::nulloptstd::nullopt{} =)argument_type_strr+   replacer*   r-   get)r5   r0   r1   type_strr*   r-   s         r%   argument_strPythonArgument.argument_str   s    dii7WXr"WT2 	 yy 6>h*>>vD <<#!"( &	
 c$,,-  Zqay11Zq''r$   r0   
deprecatedc          	        [        U R                  5      nU R                  nUS:X  a  US:X  a  U(       d	  U(       d  SnUS:X  a  US-  nUS:X  a  US:X  a  U(       d  SU-   S-   nU=(       a&    [        U [        5      =(       a    U R
                  S	:H  nU R
                  Gb  U(       Gd  [        U R                  [        5      (       a  U R                  R                  [        [        R                  5      :X  a  U R
                  R                  S
5      (       al  U R
                  R                  S5      (       aL  SSR                  [        [        R                   U R
                  SS R#                  S5      5      5      -   S-   nO-S	S	S	S	SSS.R%                  U R
                  U R
                  5      nU SU SU 3$ U SU 3$ )Nr5   r6   r8   from_out	Optional[]r9   {}(,    ,)contiguous_formatper_tensor_affine)r:   r;   r<   r=   zc10::MemoryFormat::ContiguouszQScheme::PER_TENSOR_AFFINE:  = )argument_type_str_pyir+   r*   
isinstancePythonOutArgumentr-   r   elemr   r   int
startswithendswithjoinmapr)   stripsplitrB   )r5   r0   rG   rC   r*   treat_as_no_defaultr-   s          r%   argument_str_pyiPythonArgument.argument_str_pyi   s    )3yy 6>h(26*D6>CKD 5=X1*"X-3H  '4!23'& 	 <<#,?499h//IINNhvzz&::LL++C00LL))#.. $))C		4<<"3E3K3KC3P$QRRUXX 
  &&,$* 5H2E #dllDLL1  V2hZs7)44V2hZ((r$   r   N)r0   boolr1   rh   returnr)   )r0   rh   rG   rh   ri   r)   )r   r   r    r!   r"   rD   rf   r#   r   r$   r%   r'   r'      sO    
I
J  .34 (6 !&%0)0)370)	0) 0)r$   r'   c                  4    \ rS rSr% S\S'   \SS j5       rSrg)r\   i.  tuple[PythonArgument, ...]outputsc                J   U (       d  g [        U 5      nUS:X  a'  [        U S   R                  U S   R                  SS U S9$ US:  aS  [	        S U  5       5      (       a  [        SU  35      e[        S[        [        [        R                  5      U5      SS U S9$ [        S5      e)	NrR   r   r9   )r*   r+   r-   r.   rl   c              3  ^   #    U  H#  oR                   R                  5       (       + v   M%     g 7fNr+   is_tensor_like.0as     r%   	<genexpr>1PythonOutArgument.from_outputs.<locals>.<genexpr>F  s!     @1vv,,...s   +-zUnsupported output type: rK   z!Unexpected PythonOutArgument size)lenr\   r*   r+   anyRuntimeErrorr   r   r   r6   AssertionError)rl   sizes     r%   from_outputsPythonOutArgument.from_outputs7  s    7|19$QZ__QZ__!  AX@@@@"%>wi#HII$hv}}5t<!  ABBr$   r   N)rl   rk   ri   PythonOutArgument | None)r   r   r    r!   r"   staticmethodr|   r#   r   r$   r%   r\   r\   .  s     ('C Cr$   r\   c                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   \SS j5       rSSS.     SS jjrSS jrSS jr	SSS.SS jjr
SS.S S jjrSS.S!S jjrSrg)"PythonSignatureiS  r)   r*   rk   
input_argsinput_kwargsr~   output_argsr   r   tensor_options_argsrh   r0   c                    g)NFr   r5   s    r%   rG   PythonSignature.deprecatedp  s    r$   F)skip_outputsskip_tensor_optionsc               *   / nUR                  U R                  5        UR                  U R                  5        U R                  b"  U(       d  UR	                  U R                  5        U(       d  UR                  U R
                  5        [        U5      $ ro   )extendr   r   r   appendr   tuple)r5   r   r   results       r%   	argumentsPythonSignature.argumentst  sj     <>doo&d''('MM$**+"MM$223V}r$   c                4    [        U R                  5       5      $ ro   )rw   r   r   s    r%   arguments_countPythonSignature.arguments_count  s    4>>#$$r$   c                X    [        U R                  5      [        U R                  5      -   $ ro   )rw   r   r   r   s    r%   
output_idxPythonSignature.output_idx  s!    4??#c$*;*;&<<<r$   Tr   r1   c               *   U R                  US9nU Vs/ s H  oDR                  U R                  US9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        U R                   SSR                  U5       S3$ s  snf )Nr   r/   *rP   rQ   rU   )r   rD   r0   rw   r   insertr*   ra   )r5   r   r1   argsrt   schema_formalspositional_argcs          r%   signature_strPythonSignature.signature_str  s    ~~<~8GK%
GK!NN$++fN=t 	 %
 doo.~0!!/37))Adii78::%
s   #Br   c                  U R                  US9nU Vs/ s H  o3R                  U R                  S9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        [        U 5      nU R                  (       a  UR                  SS5        SU R                   SSR                  U5       S	U S
3$ s  snf )Nr   r0   r   r   r5   def rP   rQ   ) -> : ...	r   rf   r0   rw   r   r   returns_str_pyir*   ra   r5   r   r   rt   r   r   returns_strs          r%   signature_str_pyi!PythonSignature.signature_str_pyi  s    ~~<~8<@%
<@qdkk2D 	 %
 doo.~0!!/37 &d+;;!!!V,dii[$))N";!<E+eTT%
s   "Cc                  U R                  US9nU Vs/ s H  o3R                  U R                  S9PM     nnU R                  5       n[	        U R
                  5      nSnUS:  aE  US   R                  n[        U[        5      (       a!  [        UR                  5      S;   a  US:X  a  SnU(       d  g [        W[        5      (       d   eSUS   R                  -   S	-   [        UR                  5      -   US'   [        U 5      n	U R                  (       a  UR                  SS
5        SU R                   SSR                  U5       SU	 S3$ s  snf )Nr   r   Fr   )r^   SymIntrR   Tr   rX   r5   r   rP   rQ   r   r   )r   rf   r0   r   rw   r   r+   r[   r   r)   r]   r*   rZ   r   r   ra   )
r5   r   r   rt   r   num_argsnum_positionalargshave_vararg_versionvararg_typer   s
             r%   signature_str_pyi_vararg(PythonSignature.signature_str_pyi_vararg  sB   ~~<~8<@%
<@qdkk2D 	 %
 '') 1#a<q',,K;11(()->>&!+&*#" +x0000$q',,%(=k>N>N(OO 	q &d+;;!!!V,dii[$))N";!<E+eTT?%
s   "E
r   Nri   rh   )r   rh   r   rh   ri   z.tuple[PythonArgument | PythonOutArgument, ...])ri   r^   r   rh   r1   rh   ri   r)   r   rh   ri   r)   r   rh   ri   r,   )r   r   r    r!   r"   propertyrG   r   r   r   r   r   r   r#   r   r$   r%   r   r   S  s     I +* -,))  43 L  ',
#
BF
	7
%= 5:$ 	; 9> U  @E "U "Ur$   r   c                  v    \ rS rSr% S\S'   S\S'   \SS j5       rSSS	.SS
 jjrSS.SS jjrSS.SS jjr	Sr
g)PythonSignatureDeprecatedi  r   deprecated_schematuple[str, ...]deprecated_args_exprsc                    g)NTr   r   s    r%   rG   $PythonSignatureDeprecated.deprecated      r$   FTr   c               0    [         R                  XUS9S-   $ )Nr   z|deprecated)r   r   )r5   r   r1   s      r%   r   'PythonSignatureDeprecated.signature_str  s)    )) *  	
r$   r   c               H   U R                  US9nU Vs/ s H  o3R                  U R                  SS9PM     nn[        U R                  5      n[        U5      U:  a  UR                  US5        [        U 5      nSU R                   SSR                  U5       SU S	3$ s  snf )
Nr   TrF   r   r   rP   rQ   r   r   r   r   s          r%   r   +PythonSignatureDeprecated.signature_str_pyi  s    ~~<~8MQ%
MQdkkdCT 	 %
 doo.~0!!/37%d+dii[$))N";!<E+eTT%
s   #Bc                   g ro   r   )r5   r   s     r%   r   2PythonSignatureDeprecated.signature_str_pyi_vararg  r   r$   r   Nr   r   r   r   )r   r   r    r!   r"   r   rG   r   r   r   r#   r   r$   r%   r   r     sL     &% +*  5:$ 
 9> 
U @E  r$   r   c                  *    \ rS rSr% S\S'   S\S'   Srg)!PythonSignatureNativeFunctionPairi  r   	signaturer   functionr   Nr   r   r$   r%   r   r     s    r$   r   c                  T    \ rS rSr% S\S'   S\S'   S\S'   \      SS j5       rS	rg
)PythonSignatureGroupi  r   r   r   basezNativeFunction | Noneoutplacec                0   Uc  [        UR                  UR                  S S9$ UR                  R                  R	                  5       nUR                  R
                  US'   [        [        UR                  5      " S0 UD6UR                  UR                  S9$ )N)r   r   r   r   r   )r   r   r   __dict__copyr   r+   )cls
functionalrK   signature_kwargss       r%   
from_pairsPythonSignatureGroup.from_pairs  s     ;'$..((  ==11668
   44 	./ $3==)=,<=$$\\
 	
r$   r   N)r   r   rK   z(PythonSignatureNativeFunctionPair | Noneri   r   )r   r   r    r!   r"   classmethodr   r#   r   r$   r%   r   r     sH    
   $#
5
 6
 
	
 
r$   r   c                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	DispatchLambdaArgumenti>  r)   r*   rC   rh   
is_out_argr   Nr   r   r$   r%   r   r   >  s    
IMr$   r   c                  R    \ rS rSr% S\S'   S\S'   S\S'   S\S'   \SS	 j5       rS
rg)PythonArgParserOutputExpriJ  r)   r*   exprr^   indexr'   argumentc                "    SU R                    S3$ )Nz
_r.isNone(rU   )r   r   s    r%   is_none_expr&PythonArgParserOutputExpr.is_none_exprY  s    DJJ<q))r$   r   N)ri   r)   )r   r   r    r!   r"   r   r   r#   r   r$   r%   r   r   J  s1     I I J * *r$   r   c                  *    \ rS rSr% S\S'   S\S'   Srg)DispatchLambdaArgumentExprsic  zSequence[str]exprsinitsr   Nr   r   r$   r%   r   r   c  s      r$   r   Fr   c               >    [         R                  " XS9R                  $ )Nr   )r	   from_native_functionr   )fr0   s     r%   _cpp_signaturer   }  s    11!CMMMr$   c                F    U R                   R                  R                  S L$ ro   )funcr   tensor_options)r   s    r%   has_tensor_optionsr     s    66**$66r$   simple_typer1   c               0   [        U [        5      (       GaW  U R                  [        R                  :X  a  gU R                  [        R
                  :X  a  gU R                  [        R                  :X  a  gU R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                  [        R                   [        R"                  [        R$                  [        R&                  [        R(                  4;   a  U R                  R                  $ GO[        U [*        5      (       a  [-        U R.                  XS9nU S3$ [        U [0        5      (       GaO  U(       d  U R2                  OS n[        U R.                  5      S:X  a  U R2                  c   eSU R2                   S3$ [        U R.                  5      S	:X  a  Ub  S
U S3$ S$ [        U R.                  5      S:X  a  U(       a  Ub  SU S3$ S$ Ub  S
U S3$ S$ [        U R.                  5      S:X  a  Ub  SU S3$ S$ [        U R.                  5      S:X  a  Ub  SU S3$ S$ [        U R.                  5      S:X  a	  U(       a  gg[        U R.                  5      S:X  a  Ub  SU S3$ S$ [-        U R.                  XS9nSU S3$ [5        S[7        U 5       35      e)Nint64_tdoublezc10::string_viewr   ?rh   z::std::array<bool,>r^   zIntArrayRef[rM   IntArrayRefr   zSymIntArrayRef[SymIntArrayRefr6   zTensorList[
TensorListScalarzScalarList[
ScalarListTensor?z"c10::List<::std::optional<Tensor>>z*const c10::List<::std::optional<Tensor>> &DimnamezDimnameList[DimnameListz	ArrayRef<unrecognized type )r[   r   r*   r   r^   floatr)   r6   rh   QSchemer   
ScalarType	GeneratorStorageLayoutDeviceDeviceIndexMemoryFormatr   Streamr   r   r@   r]   r   r{   ry   repr)tr   r1   r]   r{   s        r%   r@   r@     s    !X66VZZVVv||#VVvzz!%VVMMKKNNMMNNMMMMNNMMMM
 
" 66;;#
& 
A|	$	$ [Pqz	Ax	 	 (qvvdqvv;& 66%%%'xq11[E!-1-=\$q)P=P[H$151AodV1-GW 261AdV1-T}T[H$,0,<[a(N,N[H$,0,<[a(N,N[I%;C[I%-1-=\$q)P=P [P4&""
+DG95
66r$   c                t    U R                  5       nUb%  [        UR                  5      S:w  a  UR                  $ g )Nrh   )is_list_liker)   r]   r{   )r  ls     r%   argument_type_sizer    s.    	A}QVV.vvr$   c                    [        U R                  U R                  U R                  b?  [	        [        [        R                  " U R                  U R                  SS95      5      S S9$ S S S9$ )NFr3   r*   r+   r-   r.   )r'   r*   r+   r-   r)   r
   r   default_expr)rt   s    r%   r   r     sg    VVVV yy$ !#"2"2199affU"STU 
 
 
 
r$   )r0   pyic               @    [        U R                  U R                  XS9$ )N)category_overrider0   r  )signature_from_schemar   r  )r   r0   r  s      r%   r   r     s"     !	!"5"5f r$   c          
     	  ^ ^^^ / nUR                  T R                  R                  5        U(       dF  T R                  R                  b/  UR	                  T R                  R                  R
                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        UR                  T R                  R                  5        T R                  R                   Vs1 s H  oUR                  iM     snmT R                  R                   Vs1 s H  oUR                  iM     snmT R                  R                   Vs1 s H  oUR                  iM     snm[        [        [
        [        U4S jU5      5      5      n[        [        [
        [        U4S jU5      5      5      n[        [        [
        [        U4S jU5      5      5      n[!        S T R                  R"                   5       5      n	[!        S T R%                  5        5       5      (       a  ['        S5      e[!        S T R(                   5       5      n
[*        R                  " T 5      nUS:H  =(       d    U
=(       a    U	(       + nUS	;   =(       d)    UR-                  S
5      =(       d    UR/                  S5      nUS:H  n/ nU(       d  U(       Gam  U(       Gde  SU 4S jjnUR	                  [1        S[3        [5        [6        R8                  5      5      SU(       a  S OU" S5      S95        UR	                  [1        S[3        [5        [6        R:                  5      5      SU(       a  S OU" S5      S95        UR	                  [1        S[3        [5        [6        R<                  5      5      SU(       a  S OU" S5      =(       d    SS95        UR	                  [1        S[3        [5        [6        R>                  5      5      SS S95        UR	                  [1        S[3        [5        [6        R>                  5      5      SS S95        [A        T R(                  S9n[C        [E        T R                  R                  5      UU[F        RI                  U5      [        U5      UUS9$ s  snf s  snf s  snf )Nc                "   > U R                   T;   $ ro   r*   )rt   input_arg_sets    r%   <lambda>'signature_from_schema.<locals>.<lambda>  s    aff6Mr$   c                "   > U R                   T;   $ ro   r  )rt   kwarg_only_sets    r%   r  r    s    qvv'?r$   c                "   > U R                   T;   $ ro   r  )rt   out_arg_sets    r%   r  r    s    166[3Hr$   c              3  T   #    U  H  oR                   R                  5       v   M      g 7fro   rp   rr   s     r%   ru   (signature_from_schema.<locals>.<genexpr>  s"      )DA)D   &(c              3  >   #    U  H  oR                   S :H  v   M     g7f)requires_gradNr  rr   s     r%   ru   r"    s     
L.K66_$.Ks   zTargument named requires_grad is reserved, should not explicitly add it in the schemac              3  T   #    U  H  oR                   R                  5       v   M      g 7fro   rp   rs   rs     r%   ru   r"    s     J\FF1133\r#  factory)newlikenew__likedummyc                   > TR                   R                  nUc  g [        X5      nUR                  b  UR                  S:X  a  g [        R
                  " UR                  UR                  SS9$ )Nr9   Fr3   )r   r   getattrr-   r   r  r+   )r*   	topt_argsrt   r   s      r%   topt_default_init0signature_from_schema.<locals>.topt_default_init,  sZ    55I 	(Ayy AII$7##AIIqvveDDr$   dtyper9   r  layoutdevicez$torch::tensors::get_default_device()
pin_memoryFalser%  )r   )r*   r   r   r   r   r   r0   )r*   r)   ri   r,   )%r   r   pre_self_positionalself_argr   r   post_self_positionalpre_tensor_options_kwarg_onlypost_tensor_options_kwarg_onlyrK   flat_positionalr*   flat_kwarg_onlyr   rb   filterrx   flat_non_outschema_order_arguments
ValueErrorr   r   r_   r`   r'   r   r   r   r  r  r  rh   r   r   r)   r\   r|   )r   r  r0   r  r   rt   r   r   rl   has_tensor_input_arghas_tensor_returnr*   is_factory_functionis_like_or_new_functionis_dummy_functionr   r2  r   r  r  r   s   `                 @@@r%   r  r    s    DKK223dnn--9DNN++445KK334KK<<= 	KK==>KK""#%)^^%C%CD%CVV%CDM&*nn&D&DE&Dff&DEN#'>>#5#56#5a66#56Ks8V,Mt%TUVJHf?FGL C&)H$"OPQG  )-)D)D  
Ld.I.I.K
LLLb
 	
 JT\\JJD+y8 6"66  	_, 	"??6"	"==! 
 *W4026@Q	E 	""!(6+<+<"=>3D9J79S		
 	""!(6=="9:3D9J89T		
 	""!(6=="9: /  *(3 BA	
 	""!!(6;;"78!		
 	""$!(6;;"78!		
 DLL1G !%227;!"56 W EE6s   %S	SSc                    [        U 5      S::  d  [        S U  5       5      (       a  / $ [        S U  5       5      (       a  [        S5      eU  Vs/ s H  n[	        UR
                  5      PM     sn$ s  snf )NrR   c              3  <   #    U  H  oR                   S L v   M     g 7fro   r  r'  s     r%   ru   'structseq_fieldnames.<locals>.<genexpr>~  s     @1$   c              3  <   #    U  H  oR                   S L v   M     g 7fro   r  r'  s     r%   ru   rK    s     /w!vv~wrL  z)Unnamed field is not supported by codegen)rw   allrx   rC  r)   r*   )r   r(  s     r%   structseq_fieldnamesrO  }  sb    
7|qC@@@@	/w/// HII%,-WAFFW---s   A1c                   Sn[        U [        5      (       a  U R                  n Sn[        U [        5      (       Ga  U R                  [
        R                  [
        R                  4;   a  SnU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                  :X  a  SnGOaU R                  [
        R                  :X  a  SnGO?U R                  [
        R                  :X  a  S	nGOU R                  [
        R                  :X  a  S
nGOU R                  [
        R                  :X  a  SnGOU R                  [
        R                   :X  a  SnGOU R                  [
        R"                  :X  a  SnGOU R                  [
        R$                  :X  a  SnGOsU R                  [
        R&                  :X  a  SnGOQU R                  [
        R(                  [
        R*                  [
        R,                  4;   a  U R                  R                  nO[        U [.        5      (       a  [        U R                  5      S:X  a  U R0                  b  SOSnOU R3                  5       (       a  SnU R0                  b  SOSnO[        U R                  5      S:X  a  SnOx[        U R                  5      S:X  a,  U R0                  b  [5        U R                  5      nSU SU S3nO3[5        U R                  5      nSU S3nO[7        S[9        U 5       35      eU(       a  SW-   S-   nW$ )NFT_intzUnion[_int, SymInt]_floatr)   zUnion[Number, _complex]_dtype_bool_qscheme_layoutzOptional[DeviceLikeType]memory_formatzUnion[str, ellipsis, None]zUnion[Storage, UntypedStorage]r^   zUnion[_int, _size]_sizez/Union[Tensor, tuple[Tensor, ...], list[Tensor]]z'Union[tuple[Tensor, ...], list[Tensor]]r   zSequence[_float]r   zUnion[z, Sequence[z]]z	Sequence[rM   r   rL   )r[   r   r]   r   r*   r   r^   r  r   r   r)   r   r  rh   r  r  r  r  r   r  r6   r  r	  r   r{   rq   rZ   ry   r
  )r  add_optionalretr]   s       r%   rZ   rZ     sz   L!\""FF!X66fjj&"4"455C66V]]"'CVVv||#CVVvzz!CVVv}}$+CVVv(((CVVv{{"CVVv~~%CVVv}}$CVVv}}$,CVVv***!CVVv~~%.CVVv~~%2CVVv'7'7GG&&++C	Ax	 	 qvv;%*+&&*<&'C  L 66% B> 
 [G#$C[H$);(0D4&D64C(0DdV1%C /Qy9::C#%Jr$   c                   [        U [        5      (       a  [        U R                  5      nSU S3$ [        U [        5      (       aI  U R
                  [        R                  :X  a  gU R
                  [        R                  :X  a  g[        U 5      $ [        U [        5      (       a  [        U R                  5      nSU S3$ [        U 5      $ )NrL   rM   _devicezOptional[str]tuple[z, ...])r[   r   return_type_str_pyir]   r   r*   r   r  r   rZ   r   )r  inners     r%   r^  r^    s     !\""#AFF+5'##!X66V]]"VVv~~%"(++!X#AFF+wf%% ##r$   c           	        U R                   R                    Vs/ s H  n[        UR                  5      PM     nnU R                  n[	        U R                   R                   5      nU(       a  SSR                  U5       S3nSU SU S3/n[        XB5       H  u  pxUR                  SSU S	U S
3/5        M!     UR                  SU S3S[        U5       3S[        U5       3SSS/5        SR                  U5      n	X94$ g s  snf )Nr]  rQ   rM   zclass rP   z):z    @propertyz    def z
(self) -> r   z    def __new__(cls, sequence: z): ...z    n_fields: _int = z    n_sequeunce_fields: _int = z    n_unnamed_fields: _int = 0zG    def __init_subclass__(cls) -> NoReturn: ...  # prohibit subclassingr4   
)	r   r^  r+   r*   rO  ra   zipr   rw   )
r   r(  python_returnsstructseq_namefield_namesseq_typestructseq_def_linesr*   typstructseq_defs
             r%   returns_structseq_pyirj    s0   ;D;L;L;T;TU;Ta)!&&1;TNU^^N&y'8'8'@'@AK DIIn56a8^$AhZr2
 [9ID&&#tfJse59 : 	""1(6B'K(8'9:1#k2B1CD0Y		
 		"56 ,,W Vs   Dc                ^   [        U R                  R                  5      nU(       a  SU R                   3$ U R                  R                   Vs/ s H  n[        UR                  5      PM     nn[        U5      S:  a  SSR                  U5      -   S-   $ [        U5      S:X  a  US   $ gs  snf )Nztorch.return_types.rR   r]  rQ   rM   r   r9   )rO  r   r*   r^  r+   rw   ra   )r   re  r(  rc  s       r%   r   r     s    &y'8'8'@'@AK$Y^^$455;D;L;L;T;TU;Ta)!&&1;TNU
>Q$))N33c99
>aa   Vs   B*c                ^  ^ ^ [        T [        5      (       a  T R                  nOUR                  n[        R
                  " UR
                  SUSUR                  S9nUR
                  R                   Vs1 s H  oUR                  iM     snmSUU 4S jjn[        [        Xd5      5      $ s  snf )NF)r   faithfulr1   r0   cpp_no_default_argsc                  > U R                   nU R                  T;   nTR                  (       a  U R                  S:X  a  SnO6[        T5      S:*  =(       d    U(       + nU(       a  SS0R	                  X5      n[        U R                  UUS9$ )Nr5   zconst at::Tensor &rR   zat::Tensor &
at::Tensor)r*   rC   r   )r+   r*   r0   rw   rB   r   )cpp_argrC   r   ensure_temp_safeout_argspss       r%   dispatch_lambda_arg1dispatch_lambda_args.<locals>.dispatch_lambda_argb  s    <<\\X-
99/+H  #8}1C^"L#h)  &!
 	
r$   )rq  r   ri   r   )r[   r   r   r   r   r   rn  rK   r*   r   rb   )rt  r   r1   schemacpp_argsrt   ru  rs  s   `      @r%   dispatch_lambda_argsry  O  s     "/00%% }}""11H +1*:*:*>*>?*>Q&&*>?H
 
, (3443 @s   5B*>   rh   voidr   r   void*
at::Scalar
at::Streamrp  at::QSchemeat::ScalarTypeat::IntArrayRef::std::vector<at::Tensor>::std::tuple<double,int64_t>#::std::tuple<at::Tensor,at::Tensor>.::std::tuple<at::Tensor,at::Tensor,at::Tensor>2::std::tuple<at::Tensor,::std::vector<at::Tensor>>2::std::tuple<at::Tensor,at::Tensor,double,int64_t>6::std::tuple<at::Tensor,at::Tensor,at::Tensor,int64_t>9::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor>=::std::tuple<at::Tensor,at::Tensor,double,at::Tensor,int64_t>A::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,int64_t>D::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>O::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor,at::Tensor>r::std::tuple<at::Tensor,at::Tensor,at::Tensor,at::Tensor,c10::SymInt,c10::SymInt,at::Tensor,at::Tensor,at::Tensor>c                    [        S U R                  R                   5       5      n[        R                  " USS9R                  5       nU[        ;  a$  [        U R                  R                   SU 35      eU$ )Nc              3  d   #    U  H&  n[        UR                  UR                  S 5      v   M(     g 7fro   )r   r*   r+   r'  s     r%   ru   -dispatch_lambda_return_str.<locals>.<genexpr>  s'      '.<qvvqvvt$$ns   .0Tr3   z returns unsupported type )	r   r   r   r   returns_typecpp_typeSUPPORTED_RETURN_TYPESry   r*   )r   returns_without_annotation
return_strs      r%   dispatch_lambda_return_strr    sp    ( "' './ffnn' " !!"<TJSSUJ//affkk]*DZLQRRr$   c                   U R                   R                  5       n[        R                  " U R                   US9n[        R
                  U R                  ;   a  SU 3$ [        R                  U R                  ;   aZ  [        U 5      (       d>  U R                   R                  R                  R                  R                  S5      (       a  SnOSnU SU 3$ [        SU R                    35      e)N)symint_overloadzself.r-  torchatz::z1could not dispatch, neither function nor method: )r   
has_symintr   r*   r   r0   variantsr   r   r   r`   ry   )r   r1   r*   	namespaces       r%   cpp_dispatch_targetr    s    VV F88AFFF3D~~#tf~1::%a  AFFKK$4$4$9$9$B$B7$K$KIIBtf%%
J166(S
TTr$   N)python_signaturec               L  ^  [        T SS9R                  5       nSn[        U[        5      (       d  [	        S U 5       5      nO#[	        [        U 4S jUR                  5      5      n[        R                  T R                  ;   a  [	        [        SR                  U5      5      nU$ )NFr   r   c              3  8   #    U  H  oR                   v   M     g 7fro   r  rr   s     r%   ru   %cpp_dispatch_exprs.<locals>.<genexpr>  s     /hffhs   c                P   > U S:g  =(       d    TR                   R                  5       $ )NrK   )r   	is_out_fn)nr   s    r%   r  $cpp_dispatch_exprs.<locals>.<lambda>  s    !u*:(8(8(::r$   r5   )r   r   r[   r   r   r@  r   r   r0   r  __ne__)r   r  rx  r   s   `   r%   cpp_dispatch_exprsr    s    
 #15"A"K"K"MHE&(ABB/h// : 66
 ~~#fV]]E23Lr$   r3   c                  US LnU(       a  [        U 5      S;  a  [        SU  S35      e[        U [        5      (       Ga  U R                  [
        R                  [
        R                  [
        R                  [
        R                  [
        R                  4;   a$  U R                  R                  R                  5       $ U R                  [
        R                  :X  a  U(       a  S$ S$ U R                  [
        R                  :X  a  U(       a  S$ S$ U R                  [
        R                  :X  a  gU R                  [
        R                  :X  a  gU R                  [
        R                   :X  a  U(       a  S	$ S$ U R                  [
        R"                  :X  a  U(       a  S
$ S$ U R                  [
        R$                  :X  a  gU R                  [
        R                   :X  a  gU R                  [
        R&                  :X  a  U(       a  S$ S$ U R                  [
        R(                  :X  a  gGO[        U [*        5      (       a  [        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  gU(       d  US;   a  [/        U R,                  S S US9S-   $ [/        U R,                  XUS9$ [        U [0        5      (       a  [        U R,                  5      S:X  a  U R2                  b  SU R2                   S3$ S$ [        U R,                  5      S:X  a  g[        U R,                  5      S:X  a  g [        U R,                  5      S!:X  a  g"[        U R,                  5      S#:X  a  g$[        U R,                  5      S%:X  a  U(       a  S&$ S"$ [        U R,                  5      S':X  a  g([        SU  S)35      e)*N)ScalarType?r  r  Device?r  Layout?rh   bool?ztype 'z+' does not supported unpacking with defaultscalartypeWithDefault
scalartypedeviceWithDefaultr6  toInt64toSymInttoBoolWithDefaulttoBooltoDouble
stringViewlayoutWithDefaultr5  memoryformatr6   optionalTensorr  	generatorz	Dimname[]toDimnameListOptional)Nr9   r;   r<   r3   Optionalztensorlist_n<r   
tensorlistr   list_of_optional_tensorsr   dimnamelistr^   intlistr   
doublelistr   
symintlistr   
scalarlistz%' is not supported by PythonArgParser)r)   ry   r[   r   r*   r   r6   r	  r  r   r   lowerr  r  r  r^   r   rh   r   r  r  r   r]   arg_parser_unpack_methodr   r{   )r  r-   r.   r1   has_default_inits        r%   r  r    s    $4/CF 	+ 	 VA3&QRSS!X66MMMMNNMMNN
 
 66;;$$&&VVv(((.>*PLPVVv}}$*:&HHVVv)))VVvzz!VVv}}$!':6Y6VVv{{"*:&HHVVv||#VVvzz!VVv}}$*:&HHVVv***! + 
A|	$	$qvv;("#[K'[K'*!g 2
 '
 )tFKjX
 ,f  
Ax	 	 qvv;("010B]166(!,TT[I%-[I% [E![G#[H$#)<8y8[H$
s"GH
IIr$   c                   UR                   S Ln[        UR                  UR                  UR                   US9nU(       a  SUR                    3OSnSU SU  U S3n[	        UR
                  UU US9$ )N)r  r-   r.   r1   rQ   r4   z_r.rP   rU   )r*   r   r   r   )r.   r  r+   r-   r   r*   )	arg_indexrt   r1   has_defaultunpack_methodr-   r   s          r%   arg_parser_output_exprr  L  s}     ..,K,
&&!))!..M (31>>"#GqG9A6D$VV	 r$   c                   [        U R                  5       5       VVVs0 s H  u  p4[        X4US9nUR                  U_M     snnn$ s  snnnf )Nr3   )	enumerater   r  r*   )rt  r   r1   irt   es         r%   arg_parser_output_exprsr  _  sL    
 blln--DA(f=A 	
	-  s   #Ar  r  r  r  )r4  r6  r5  r7  r%  c               	  ^^ [        XUS9n[        XUS9n/ n0 m[        U5      nU R                  SS9 GH2  nUR                  nX7R                     R
                  n	U(       a#  US:X  a  UR                  SU	 S3/5        UTU'   MR  [        U[        5      (       a  [        UR                  5      S:  ah  UR                  R                  5       (       aI  UR                  SU	 S3/5        [        UR                  5       H  u  pS	U
 S
3TUR                  '   M     M  [        UR                  5      S:X  a,  UR                  SU SU	 S3SU SU SU S3/5        UTU'   GM-  U	TU'   GM5     U R                   (       a  STS'   U R"                   Vs/ s H  owR                  PM     snmU(       Ga  UR                  R                  5       (       a  [%        UR                   S35      eU R"                   H  nUR                  [&        ;  a%  [%        UR                   SUR                   S35      e[        UR                  5      [&        R)                  UR                  5      :w  d  Mt  [%        UR                   S[        UR                  5       SUR                   S35      e   [+        U4S j[&         5       5      (       d  [%        UR                   ST 35      eUR-                  SUS   R
                   SUS   R
                   SUS   R
                   S US!   R
                   S"US#   R
                   S$35        S%TS%'   U(       Gd  T(       Ga  ST;   a  UR                  R                  5       (       d'  [%        UR                   S&U  S'U R                   35      e[+        U4S( jS) 5       5      (       d  [%        UR                   S*35      eUR-                  S+US,   R
                   S-US   R
                   S.US   R.                   S-US   R
                   S.US   R
                   S-US   R.                   S/35        S!T;  a  [%        UR                   S0T S
35      e[1        [3        U4S1 jU 5       5      US29$ s  snf )3Nr3   T)r   r5   zauto self = ;rR   zauto out = zout[rM   z
Dimname[]?zauto __rY   z::std::optional<DimnameList> z = __z& ? ::std::make_optional(DimnameList(__z.value())) : ::std::nullopt;z : tensor options with output argz%: unrecognized tensor options field 'z' in python binding argumentsz: unrecognized type 'z' for tensor options field ''c              3  ,   >#    U  H	  oT;   v   M     g 7fro   r   rs   rt   tensor_options_args_namess     r%   ru   (dispatch_lambda_exprs.<locals>.<genexpr>  s     Q;Pa11;P   z": incomplete tensor options args: z0const auto options = TensorOptions()
    .dtype(r4  z)
    .device(r6  z)
    .layout(r5  z)
    .requires_grad(r%  z)
    .pinned_memory(r7  z3);
torch::utils::maybe_initialize_device(options);
optionsz3: dtype in tensor_options_args without output arg, r>   c              3  ,   >#    U  H	  oT;   v   M     g 7fro   r   r  s     r%   ru   r    s     T?S!55?Sr  )r5  r6  z,: incomplete tensor options for output checkzcheck_out_type_matches(rK   rQ   z,
                       z);
zE: expected "requires_grad" in tensor_options_args absent, but found [c              3  B   >#    U  H  nTUR                      v   M     g 7fro   r  )rs   rt   lambda_args_exprss     r%   ru   r    s     C{!%aff-{s   )r   r   )r  ry  r   r   r*   r   r   r[   r\   rw   rl   r   r  r  r)   r+   r0   r   ry   TENSOR_OPTIONS_FIELDSrB   rN  r   r   r   r   )rt  r   r1   arg_parser_outputslambda_argsr   has_toptionsrt   r*   arg_parser_exprr  out_argr  r  s               @@r%   dispatch_lambda_exprsr  t  s    1vF&rV<KE(*%a(L \\d\3vv,VV499DFNLL"?"315
 '+d#q+,,AII"  ""LL!/!2!4
 (		2
481+!',,/ 3[L( LLdV3&7q93D6tfDjkojp  qM  N '+d# '6d#O 4T 
yy$*&! 241G1G H1GA1G H66!&&)IJKK''Avv22"vvhCAFF8Khi  166{377??"vvh3CK=@\]^]c]c\ddef  ( Q;PQQQ66(<=V<WX  	w',,- .)../ 0)../ 0&7<<= >&|499: ;
	
 (1)$ 5//66##%%"vvhQRTQUUVWYWcWcVde  T?STTT"vvhJK  LL*51667r:LW:U:Z:Z9[ \*73@@ADVW_D`DeDeCf g*8499:"=OPX=Y=f=f<g h ";;66(_`y_zz{|  'C{CC u !Is   R)r   r   r0   rh   ri   r   )r   r   ri   rh   )r  r   r   rh   r1   rh   ri   r)   )r  r   ri   z
int | None)rt   r   ri   r'   )r   r   r0   rh   r  rh   ri   r   )
r   r   r  r,   r0   rh   r  rh   ri   r   )r   r   ri   z	list[str])r  r   ri   r)   )r   r   ri   ztuple[str, str] | None)r   r   ri   r)   )T)rt  r   r   r   r1   rh   ri   z"tuple[DispatchLambdaArgument, ...])r   r   ri   r)   )r   r   r  zPythonSignature | Noneri   r   )
r  r   r-   r,   r.   r,   r1   rh   ri   r)   )r  r^   rt   r'   r1   rh   ri   r   )rt  r   r   r   r1   rh   ri   z$dict[str, PythonArgParserOutputExpr])rt  r   r   r   r1   rh   ri   r   );
__future__r   dataclassesr   typingr   torchgen.apir   torchgen.api.typesr   r   r	   torchgen.genr
   torchgen.modelr   r   r   r   r   r   r   r   r   r   collections.abcr   r   r'   r\   r   r   r   r   r   r   r   r   r   r@   r  r   r   r  rO  rZ   r^  rj  r   ry  r  r  r  r  r  r  r  r  r  r   r$   r%   <module>r     s   " !    G G *   (h $      $Y) Y) Y)x $!C !C !CH $xU xU xUz $' ' 'f $   $'
 '
 '
^ $   $* * *0 $  2 9> N7 %*$<7<7!<737<7<7~  */E"&59 F
F "F 	F
 
F F`.&AH$.,^
l <@)5)5*)548)5')5^ ::U" 04 - 	R OSYJYJ YJ0:YJGKYJYJ~ :>%26( ?C*7;)   ?Cyy*y7;y yr$   