
    N j                    R    S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJ	r	J
rJrJrJr  S SKJr  S SKrS SKrS SK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JrJrJ r J!r!J"r"J#r#J$r$J%r%  S S	K&J'r'J(r(J)r)J*r*J+r+J,r,  S S
K-J.r.  S SK/J0r0  \(       a  S SK1J2r2J3r3  S SK&J4r4  S SK5J6r6  \\)\Rn                  4   r8\" S5      r9\" S5      r:\" S5      r;\R,                  Rx                  r=/ SQr>0 r?/ r@\R                  R                  R                  rCSYS jrDSZS jrE\D" / \CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  Rn                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P\CR                  R                  P76 r]\D" \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  5      rg\CR                  4riS[S jrj\R                  S\S j5       rl    S]S jrmS^S jrnS_S jro\m" \?R                  5                S`S j5       rq\m" \l5      \m" / \]Q5                SaS j5       5       rr\m" \CR                  R                  5                SbS j5       rs\m" \R                  R                  R                  R                  5       Sc         SdS jj5       ru\m" \R                  R                  R                  R                  5              SeS j5       rv\m" \R                  R                  R                  R                  5       Sc         SfS jj5       rw\m" \CR                  R                  5      \m" \CR                  R                  5                SaS  j5       5       rxS^S! jry\m" \y5                SaS" j5       rz\m" \CR                  R                  5                SaS# j5       r{\m" \CR                  R                  5                SaS$ j5       r|\m" S% 5                SgS& j5       r}   ShS'S(.                 SiS) jjjr~\m" \CR                  R                  5         Sh             SjS* jj5       r\m" \CGR                  GR                  5                  SkS+ j5       r\m" \CGR                  R                  5         Sh               SlS, jj5       r\m" \CGR
                  R                  5         Sm             SnS- jj5       r So         SpS. jjr      SqS/ jr Sr       SsS0 jjr\m" \CGR                  R                  5                StS1 j5       r\m" \CGR                  R                  5      \m" \CGR                  R                  5                SuS2 j5       5       r\m" \CGR                  R                  5      SS3.           SvS4 jj5       r\m" \CGR                  Rn                  5       Sc         SwS5 jj5       r\m" \R                  R                  GR"                  R                  5      \m" \R                  R                  GR$                  R                  5              SxS6 j5       5       r\m" \R                  R                  GR(                  R                  5              SyS7 j5       r\m" \R                  R                  GR*                  R                  5      SzS8 j5       r\m" \R                  R                  GR,                  R                  5       Sc           S{S9 jj5       rS|S: jr\m" \R                  R                  GR0                  Rn                  5          S}               S~S; jj5       r\m" \R                  R                  GR4                  R                  5                SS< j5       r\m" \R                  R                  GR6                  R                  5         SSSS=.                 SS> jjj5       r\m" S? 5                SgS@ j5       r        SSA jr          SSB jr\D" SCSDSE5      rS^SF jrS\SG jr\m" SH 5                SSI j5       r\m" \CGRH                  Rn                  5                SaSJ j5       r\m" \CGRL                  R                  5                SSK j5       r\m" \CGRP                  R                  5      \m" \CGRR                  R                  5      \m" \CGRT                  R                  5      \m" \CGRV                  R                  5      \m" \CGRX                  R                  5                SaSL j5       5       5       5       5       r\m" \CGRR                  R                  5      \m" \CGRV                  R                  5                SaSM j5       5       r\m" \CGR^                  R                  5      \m" \CGR`                  R                  5                SaSN j5       5       r\m" \CR                  R                  5      \m" \CR                  R                  5      \m" \CGRd                  R                  5      \m" \CGRf                  R                  5                SgSO j5       5       5       5       r\m" \g V s/ s Hv  n U \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  \CR                  R                  4;  d  Mt  U PMx     sn 5      SgSP j5       r\m" \CGRl                  R                  \CGRn                  R                  /5                SSQ j5       r\m" \R                  R                  GRr                  R                  5        S           SSR jj5       r\m" \R                  R                  GRt                  R                  5                  SSS j5       r0 r    SST jr      SSU jr\GR|                  4     SSV jjr So       SSW jjr\R                  SSX j5       rgs  sn f )    )annotationsN)reduce)AnycastTYPE_CHECKINGTypeVarUnion)	ParamSpec)no_python_dispatcher)
OpOverload)canonicalize_dimelementwise_dtypesELEMENTWISE_TYPE_PROMOTION_KINDis_boolean_dtypeis_contiguous(is_contiguous_for_memory_format_or_falseis_contiguous_or_falseis_float_dtypeis_integer_dtypemake_contiguous_strides_for	ShapeType)DataDependentOutputExceptionDynamicOutputShapeException
FakeTensorin_kernel_invocation_managerrun_fallback_kernelUnsupportedOperatorException)_normalize_function_or_errorcount_label)CallableSequence)FakeTensorMode)IntLikeType_P_R_T)op_implementations_checksget_fast_op_implsstride_incorrect_ophas_metac                 .    [         R                  U S5      $ )NT)dictfromkeys)itemss    m/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/torch/_subclasses/fake_impls.pyordered_setr1   I   s    ==%%    c                     U R                   S:g  $ )Nhpu)typedevices    r0   is_noncontiguous_supportedr8   O   s    ;;%r2   c                    [         R                  R                  R                  5       nU R	                  U5      =(       d     [        S U R                  5        5       5      $ )Nc              3  8   #    U  H  n[        U5      v   M     g 7fN)contains_tensor_types).0es     r0   	<genexpr>(contains_tensor_types.<locals>.<genexpr>   s      1*@Qa  *@s   )torch_C
TensorTypegetisSubtypeOfanycontainedTypes)type_tensor_types     r0   r<   r<      sO    ((%%))+K[) S 1*/*>*>*@1 . r2   c                v   [        U [        5      (       d  [        S[        U 5       35      eU R                  n[        S UR                   5       5      (       a  g[        UR                  5      S:H  =(       aA    UR                  S   R                  [        R                  R                  R                  5       L $ )Nz func must be an OpOverload, got c              3  L   #    U  H  n[        UR                  5      v   M     g 7fr;   )r<   r5   )r=   args     r0   r?   )_is_tensor_constructor.<locals>.<genexpr>   s     
G6Fs **6Fs   "$F   r   )
isinstancer   AssertionErrorr5   _schemarF   	argumentslenreturnsrA   rB   rC   rD   )funcschemas     r0   _is_tensor_constructorrW      s    dJ''?T
|LMM\\F

Gf6F6F
GGG 	FNNq XV^^A%6%;%;uxx?R?R?V?V?X%Xr2   c                   ^  SU 4S jjnU$ )Nc                b  > [        T[        5      (       a#  T[        ;   a  [        ST 35      eU [        T'   U $ [        T[        [
        45      (       a  T H  n[        U5      " U 5        M     U $ [        T5      (       d  [        S[        T5       35      e[        R                  TU 45        U $ )Nzduplicate registration: z%run_impl_check must be callable, got )rO   r   op_implementations_dictrP   listtupleregister_op_implcallabler5   r(   append)op_imploprun_impl_checks     r0   impl_decorator(register_op_impl.<locals>.impl_decorator   s    nj11!88$'??O%PQQ6=#N3  u66$ $W- %  N++$;D<P;QR  &,,ng-FGr2   r`   Callable[_P, _R]returnrf    )rb   rc   s   ` r0   r]   r]      s    " r2   c                    U [         ;   $ r;   rZ   ra   s    r0   _is_op_registered_to_fake_rulerl      s    (((r2   c                    [         R                  U S 5        [         H!  u  pXL d  M  [        R                  X45          g    g r;   )rZ   popr(   remove)ra   checkimpls      r0   _deregister_op_implrr      s6    D)0;%,,e]; 1r2   c                (    [         U   " X/UQ70 UD6$ r;   rj   	fake_moderU   argskwargss       r0   #dispatch_to_op_implementations_dictrx      s     #4(J4J6JJr2   c                   U[         ;   a  [        SU 35      e[        XUSS9u  pESU;   a  [        U5      eU[        ;   a"  US   R
                  nUR                  S5      4nO[        R
                  " S5      nSnUR                  SS 5      nUb  UOUn[        R
                  " S	5      US'   [        U 5         U" U0 UD6nS S S 5        [        U WU5      $ ! , (       d  f       N= f)
Nz8func must not be in _non_kwarg_device_constructors, got Trv   rw   normalize_to_only_use_kwargsnamesinputcpurh   r7   meta)
_non_kwarg_device_constructorsrP   r   r   _like_tensor_constructorsr7   rn   rA   r   r   )	ru   rU   rv   rw   _
new_kwargsdefault_device
out_devicers	            r0   constructorsr      s    
 --FtfM
 	
 1TMA &*400((#G,33w') e,$/J)5>J <</Jx 
&i	0$%*% 
1iJ// 
1	0s   8	C
C$c                    [        XUSS9u  pEUR                  S5      n[        U 5         U" U5      nS S S 5        U$ ! , (       d  f       W$ = f)NTr{   r}   )r   rn   r   )ru   rU   rv   rw   r   r   inpr   s           r0   non_kwarg_is_pinnedr      sR     1FMA ..
!C 
&i	0I 
1H 
1	0Hs	   	=
Ac                    [        U 5         U" X#5      nS S S 5        [        R                  " WSS9n[        X[        R                  " S5      5      $ ! , (       d  f       NC= f)Nr   r6   r~   )r   rA   
empty_liker   r7   )ru   rU   namerv   real_handlemeta_handles         r0   _record_function_enterr     sN    
 
&i	04& 
1 "";v>Kiell5.ABB 
1	0s   	A
A c                    g r;   rh   )ru   rU   handles      r0   _record_function_exitr     s     	r2   c                ^    [        U 5         U" X#5      sS S S 5        $ ! , (       d  f       g = fr;   r   )ru   rU   r   rv   s       r0   _record_function_enter_newr     s      
&i	0D 
1	0	0   
,c                @   [        XUSS9u  pEUS   nU(       a  UOUS   R                  n[        R                  " S5      US'   UR                  S5      n[	        U 5         U" U40 UD6n	S S S 5        U R
                  R                  U W	U5      $ ! , (       d  f       N+= f)NTr   r7   r}   r   )r   r7   rA   rn   r   fake_tensor_converterfrom_meta_and_device)
ru   rU   rv   rw   r   r   input_devicer   r   r   s
             r0   non_kwarg_tor   #  s    
 1FMA h'L!-:g3F3M3MJ <</Jx
..
!C	%i	0#
# 
1 **??1j  
1	0s    
B
Bc                    g)NFrh   rk   s    r0   r*   r*   7  s    r2   c           	     "  ^ SS jmU R                   (       an  [        U4S j[        R                  " X#R	                  5       5       5       5      nU(       d0  [
        R                  X#45      u  pV[        U UUU[        S5      5      $ [        U5      e)Nc                    [        U [        5      (       a  U R                  $ [        U [        R                  [        R
                  [        R                  45      (       a  gg)NTF)rO   r   _has_symbolic_sizes_stridesrA   SymIntSymFloatSymBoolxs    r0   is_symbolic3workaround_stride_incorrect_op.<locals>.is_symbolicB  sA    a$$000a%,,FGGr2   c              3  4   >#    U  H  nT" U5      v   M     g 7fr;   rh   )r=   r   r   s     r0   r?   1workaround_stride_incorrect_op.<locals>.<genexpr>K  s      
$JqKNN$Js   z2Cannot run fallback kernel for stride_incorrect_op)r   objectrg   bool)
allow_fallback_kernelsrF   	itertoolschainvaluespytreetree_flattenr   RuntimeErrorr   )ru   rU   rv   rw   require_dynamic	flat_args	args_specr   s          @r0   workaround_stride_incorrect_opr   <  s     '' 
$-OOD--/$J
 
 #)#6#6~#F I& QR  't
,,r2   c                ^    [        U 5         U" U0 UD6sS S S 5        $ ! , (       d  f       g = fr;   r   rt   s       r0   
resize_as_r   _  s%     
&i	0T$V$ 
1	0	0r   c                     [        X/UQ70 UD6$ r;   )r   rt   s       r0   (_sparse_coo_tensor_with_dims_and_tensorsr   g  s     	9$9&99r2   c                    [         R                  R                  U R                  ;   =(       aP    U [        R
                  R                  [        R                  R                  [        R                  R                  4;  $ r;   )
rA   Tagdynamic_output_shapetagsatenindexTensornonzerodefaultrepeat_interleaverU   s    r0   <lambda>r   p  sV    //499< TJJt||33T5K5K5R5RS	TTr2   c                    [        U5      er;   )r   rt   s       r0   	dyn_shaper   o  s     &d
++r2   Funique_consecutivec                  U R                   b  U R                   R                  (       d  [        U5      eU(       a  UR                  OUR                  nUc  Uc  SSKJn	Jn
  U
" UR                  5       5      (       d  UR                  5       S:X  a  SnOoU R                   R                  5       n[        R                  S-
  nUc  UR                  5       OUR                  U5      nU
" U5      (       d  [        U5      nU	" XS9  Uc  U(       a  Xl        OXl        Uc  UR                  U45      /nO4UR                  " / UR                  S U QUPUR                  US-   S  Q76 /nUS L=(       a#    UR                   ["        R$                  " S5      :H  nU(       d  U(       a/  UR                  Uc  UR                  OUR                  U   45      nOUR                  S5      nUR'                  U5        U(       d  U(       a5  UR                  Uc  US   R                  OUS   R                  U   45      nOUR                  S5      nUR'                  U5        [)        U5      $ )Nr   _constrain_range_for_sizehas_free_symbolsrN   maxr~   )	shape_envallow_dynamic_output_shape_opsr   unique_consecutive_memounique_memo%torch.fx.experimental.symbolic_shapesr   r   numelcreate_unbacked_symintsysmaxsizesizeint	new_emptyshapefake_devicerA   r7   r_   r\   )ru   rU   rL   dimsortedreturn_inversereturn_countsr   nnzr   r   maxvalr   retreturn_if_dim_and_cpuinversecountss                    r0   _uniquer   z  s    	#""AA *$//);#
%
%C #+	

  		,,1A C%%<<>C[[1_F#&;CIIKCHHSME#E**U%c6;!.1+"%
{}}cV$% }}JciioJsJSYYsQwy5IJKtOV5<<PUCV0V.--S[		syy~>OP--"JJw-s{s1v||QcAR@TUq!JJv:r2   c           	          [        XUS X4U5      $ r;   r   )ru   rU   rL   r   r   r   s         r0   unique2r     s     9Cv}UUr2   c                   SSK Jn  UR                  (       a  [        $ UR	                  5       n[
        R                  " US:g  S 5        US:  a  UOX6-   nUR                  U5      n[        UR                  5       5      n[        UR                  5       5      n	S n
U" US:  5      (       a  UR                  5       XIU   -  -   n
O*U" US:  5      (       a  UR                  5       XG-   X   -  -   n
U
c^  U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      eU R                  R                  5       n
X	 X	 U
c  [        S5      eUR!                  XU
5      $ )Nr   guard_or_falsec                     g)Nz-select() cannot be applied to a 0-dim tensor.rh   rh   r2   r0   r   meta_select.<locals>.<lambda>  s    ?r2   z#new_storage_offset must not be None)r   r   	is_sparseNotImplementedr   rA   _check_indexr   r[   stridestorage_offsetr   allow_scalar_outputsr   r   rP   
as_strided)ru   rU   selfr   r   r   ndimr   new_size
new_stridenew_storage_offsets              r0   meta_selectr     sL    E~~88:D		?
 #szC99S>DDIIK Hdkkm$Jeqj!!!002U_5LL			"	"!002eljo5UU!&##8822.t44 '00GGI!BCC??81CDDr2   c           
     b    [        U UUUS:  a  UOU[        UR                  S5      -  UUU5      $ )Nr   rN   )r   r   r   )ru   rU   rL   r   r   r   r   s          r0   
unique_dimr    s>     axS3sxx#33	 	r2   c                "    [        U UUUSUUSS9$ )NFTr   r   )ru   rU   rL   r   r   r   s         r0   r   r     s)     	 	r2   c                  ^^^ SSK JmJmJn  SUU4S jjnSUU4S jjn[	        U 5      S:X  a  S/[	        U5      -  $ [        [        R                  U S5      nU" US:H  5      nU(       a  U" U" X5      5      (       a  [        U5      $ S/[	        U5      -  n	U(       aU  [        [	        U5      S-
  SS5       H6  n
U
[	        U5      S-
  :X  a  SX'   M  [        X*S-      S5      XS-      -  X'   M8     U	$ [	        U5      S-
  n
US   nSnSn[        [	        U 5      S-
  SS5       H  nXU   -  nUS:X  d0  U" XS-
     S:g  5      (       d  M'  U" XS-
     X-  :g  5      (       d  M@  U
S:  a^  U" X:  5      (       d  U" X*   S:H  5      (       a=  X-  X'   XU
   -  nU
S-  n
U
S:  a%  U" X:  5      (       a  M)  U" X*   S:H  5      (       a  M=  U" X:g  5      (       a    g US:  d  M  XS-
     nSnSnM     U
S:w  a  g U	$ )Nr   )r   guard_or_truesym_eqc                &   > T(       a  T" U 5      $ U $ r;   rh   )r   r   size_obliviouss    r0   maybe_guard_or_false-_compute_stride.<locals>.maybe_guard_or_false>  s    !!$$r2   c                &   > T(       a  T" U 5      $ U $ r;   rh   )r   r  r  s    r0   maybe_guard_or_true,_compute_stride.<locals>.maybe_guard_or_trueD  s     ##r2   rN   )r   r   rg   r   )r   r   r  r  rS   r   operatormulr[   ranger   )	old_shape
old_stride	new_shaper  r  r  r  r   
zero_numelr   view_dchunk_base_stridetensor_numel
view_numeltensor_dr   r  s      `           @@r0   _compute_strider  2  s5       9~sS^##8<<A.E%eqj1J*6)+GHHJ%&C#i.$8JC	NQ.B7FY!++%&
" 	1*-q1Jz4JJ "	 8 ^aF%/^ !LJ#i.1,b"5(++q=	Q, 71 <==#a<(L,LL  A+#J$=>>'	(9Q(>??%/%C
"//
! A+#J$=>>'	(9Q(>?? #:#=>>!|$.!|$<! 
/ 60 |r2   c                  ^ SSK Jm  [        R                  " USS9n[	        U4S jU R                  5        5       5      =(       d?    [	        U4S jU R                  5        5       5      =(       d    [	        U4S jU 5       5      $ )Nr   has_hintFvalidatec              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr;   rh   r=   sr  s     r0   r?   +_view_has_unbacked_input.<locals>.<genexpr>  s     .XOOX   c              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr;   rh   r!  s     r0   r?   r#    s     3
18A;
r$  c              3  >   >#    U  H  nT" U5      (       + v   M     g 7fr;   rh   r!  s     r0   r?   r#    s     .18A;r$  )r   r  utilsextract_shape_from_varargsrF   r   r   )ar   r  s     @r0   _view_has_unbacked_inputr*    sa     ?,,UUCE 	.QVVX.. 	/3
33	/...r2   c                b  ^ ^ SSK Jn  SSKJnJn  [
        R                  " TSS9m[
        R                  " TT R                  5       5      mT R                  S:X  aS  T nT H<  n[        R                  " US:H  5        [        R                  R                  US5      nM>     UT L a  U" T 5      $ U$ [        T5      S:X  a]  T nT R                   H<  n[        R                  " US:H  5        [        R                  R!                  US5      nM>     UT L a  U" T 5      $ U$ [#        [$        R&                  TS5      n[        R                  " T R                  5       U:H  U U4S j5        [        T5      [        T R                  5      :X  a&  U" U" TT R                  5      5      (       a  U" T 5      $ U(       a  [)        T 5      (       a.  O[+        T 5      (       a  [-        T5      n	T R/                  TU	5      $ [1        T R3                  5       T R5                  5       TUS	9n
U
b  T R/                  TU
5      $ U(       aO  [        R6                  R8                  R:                  R<                  (       d  [?        T T5      (       a  [A        T TSS
9$ ST R                   ST R5                  5        ST S3n[C        U5      e)Nr   )view_ofr   r  Fr  rN   r  c                 *   > ST R                    ST S3$ )Nz&Could not reshape a tensor with shape  as a tensor with shape !)r   )r)  r   s   r0   r   %_view_unbacked_meta.<locals>.<lambda>  s    8	AYZ_Y``abr2   )r  )size_oblivious_enabledz Cannot view a tensor with shape z and strides r/  r0  )"torch._primsr,  r   r   r  r'  r(  
infer_sizer   r   rA   _check_refs	unsqueezerS   r   squeezer   r  r  r   r   r   r   r  r   r   fxexperimental_configbacked_size_obliviousr*  _view_unbacked_meta
ValueError)r)  r   r2  r,  r   r  _alengthshape_numelstridesnew_stridesmsgs   ``          r0   r=  r=    s-   
 %L ,,UUCE UAGGI.E 	vv{FLL1%&&r2.B  71:I 5zQggFLL1%$$R,B  71:Iua0K	LL		[ b
 5zS\!nVE1775K&L&Lqz$:a  a@P@P-e4||E7++!	!((*e4JK ||E;// %%;;#Au--"1eEJJ,QWWI]188:,Nfglfmmn
oC
S/r2   c                   UR                   (       d  UR                  (       a  [        $ [        R                  " / UQUR                  5       P76 n[        U5      (       a8  [        XU/UQ76 n[        [        UR                  [        R                  S95      $ [        U U[        [        UR                  [        R                  S95      /UQ76 $ Nmemory_format)r   	is_mkldnnr   r'  r4  r   r   
_view_metatyping_castr   clonerA   contiguous_format)ru   rU   r)  r   views        r0   _reshape_copyrO    s     	{{akk /e/QWWY/Ea  )15u5

1H1H
I
 	
 
AGG%:Q:QG$RS
 	
 	
r2   c                   [         R                  R                  R                  R                  (       d  [        X#5      (       a  [        [        [        X#5      5      $ [        [        [         R                  R                  " U/UQ7SS065      $ )N
allow_copyF)rA   r9  r:  r;  r<  r*  rK  r   r=  r6  _reshape_view_helper)ru   rU   r)  r   s       r0   rJ  rJ    sm     xx$$::>V	? ? :':1'DEE88UUUuU
 	
r2   )outc               T    [        XU/UQ76 nUb  U$ [        R                  S U5      $ )Nc                <    U R                  [        R                  S9$ rF  )rL  rA   rM  r   s    r0   r   !_view_meta_copy.<locals>.<lambda>  s    !''(?(?'@r2   )rJ  r   tree_map)ru   rU   r)  rS  r   results         r0   _view_meta_copyrY    s6     	3U3F
??@ r2   c                    Uc[  U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        UR                  U5      $ Nr   r   )r   r   r   r   r   r   r   )ru   rU   repeatsoutput_sizer   s        r0   repeat_interleave_tensorr_    sc     '&&EE-d33))@@B 	T!+.[))r2   c                *   UR                   =nb  U$ U R                  b,  U R                  R                  (       d  U R                  (       d  [        U5      e[	        UR
                  5      (       a  U R                  R                  5       nO[        UR
                  5      (       a  U R                  R                  5       nOM[        UR
                  5      (       a  U R                  R                  5       nO[        SUR
                   35      eX2l         U$ )Nz local_scalar_dense/item NYI for )	item_memor   r   r   r   dtypecreate_unbacked_symfloatr   r   r   create_unbacked_symboolNotImplementedError)ru   rU   rL   r   s       r0   local_scalar_denserf  ,  s    
 ]]'"44.. +400cii  88:	#))	$	$668	#))	$	$779!$DSYYK"PQQMHr2   c                    [         R                  R                  R                  R	                  U5      R                  S5      $ )NrN   )rA   opsr   r   r   unbind)ru   rU   rL   s      r0   nonzero_numpyrj  E  s.     99>>!!))#.55a88r2   c                h   U R                   b  U R                   R                  (       d  [        U5      eUR                  =nGc@  SSKJnJn  SSKJn  SSK	J
n  U" UR                  5       5      (       d  UR                  5       S:X  a  SnOU R                   R                  5       n[        R                  S-
  nU" UR                  5       5      (       d  [        UR                  5       5      nO[         R"                  " UR$                  5      R&                  n	U" U	R(                  U	R                   R*                  5      n
[-        U
R.                  U5      (       a  [        R                  S-
  nOU
R.                  nU" X8S9  X2l        UR1                  X2R3                  5       4SU4[4        R6                  S9$ )Nr   r   IntInfinitybound_sympyrN   r   )rb  )r   r   r   nonzero_memor   r   r   torch.utils._sympy.numbersrm  torch.utils._sympy.value_rangesro  r   r   r   r   r   mathprodr   nodeexprvar_to_rangerO   uppernew_empty_stridedr   rA   int64)ru   rU   rL   r   r   r   rm  ro  r   	prod_node
prod_ranges              r0   r   r   L  sL    	#""AA *$//(	
 	;?		,,1A C%%<<>C[[1_F#CIIK00SYY[) IIcii055	(NNI$7$7$D$D
 j..<< [[1_F'--F%c6  #wwy!1As85;; OOr2   c                   [        U5      S:w  a  [        S[        U5       S35      eU(       d  U R                  b  U R                  R                  (       d  [	        U5      eU R                  R                  5       n[        R                  S-
  nSSKJ	nJ
n  U" UR                  5       5      (       d  [        UR                  5       5      nU" USUS9  U/UR                  SS  Q7nUR                  U5      $ )NrN   z&Only one jagged dim is supported, got z offsetsr   r   )minr      )rS   rP   r   r   r   r   r   r   r   r   r   r   r   r   r   )	ru   rU   paddedoffsetstotal_Lr   r   r   output_shapes	            r0   _padded_dense_to_jagged_forwardr    s     7|q4S\N(K
 	
 '&&EE .d33%%<<>q	

  //(F!'qf=/fll12./LL))r2   c                    SSK JnJn  U" U" US:  X:*  5      5      (       a  U$ U" U" US:  X* :  5      5      (       a  X-   $ U" X* :  5      (       a  gU" X:  5      (       a  U $ g )Nr   )r   sym_and)r   r   r  )r   r   r   r  s       r0   _compute_slice_indexr    sk    Mgeqj%-899		5E>:	;	;|		&	&		%	%r2   c                   SSK JnJn  U R                  n	UR	                  5       n
U
S:X  a  [        S5      e[        UR	                  5       U5      n[        UR                  5       5      n[        UR                  5       5      nUS::  a  [        S5      eUc  SO[        X   U5      nU" U[        R                  :H  5      (       d  Uc  X   O[        X   U5      nS nUb1  Ub.  U" X:  5      (       a  X-
  U-   S-
  U-  nOU" X:  5      (       a  SnUcR  U	c  [        S5      eU	R                  5       n[        R                   " US:  5        [        R                   " XU   :*  5        X   U-  nUb  UR#                  5       XU   -  -   nO7U	c  [        S5      eU	R                  5       n[        R                   " US:  5        XU'   UX'   UR$                  (       a  ['        S5      eUR)                  XU5      $ )Nr   )r   statically_known_truez,slice() cannot be applied to a 0-dim tensor.zslice step must be positiverN   z$Must have shape_env to create symintz<Slice decomposition for quantized tensors aren't implemented)r   r   r  r   r   r   r   r[   r   r   r  r   r   rP   r   rA   r5  r   is_quantizedre  r   )ru   rU   r   r   startendstepr   r  r   r   sizesrB  start_index	end_indexr   r   r   s                     r0   slice_forwardr    s   
 ##I88:DqyIJJ
488:s
+CE4;;=!Gqy899 }!*>uz5*QK !!344 	
!%*c2  $(H9#8)233!/$6:tCHK455H  !GHH335X]#Xs+, $J ,,.s|1KK !GHH"99;^q()#JGL!J
 	
 u~>>r2   c                   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       n[        R
                  S-
  nSSKJnJn  SSK	J
n  SSKJn	  U" UR                  5       5      (       d  [        UR                  5       5      n
O[        R                   " UR"                  5      R$                  nU	" UR&                  UR                   R(                  5      n[+        UR,                  U5      (       a  [        R
                  S-
  n
OUR,                  n
U
S:  a  U
nU" XES9  UR/                  U45      $ )NrN   r   r   rl  rn  r  r   )r   r   r   r   r   r   r   r   r   rq  rm  rr  ro  r   r   rs  rt  r   ru  rv  rw  rO   rx  r   )ru   rU   r   maskr   r   r   r   rm  ro  num_elementsr{  r|  s                r0   masked_selectr    s   
 	#""AA *$//



4
4
6C [[1_F 7;
 DJJL))4::<(IIdjj)..	 1D1D1Q1QR
j&&44;;?L%++Lac.>>3&!!r2   )r7   layoutc                  Ub3  UR                  5       U:w  a  [        SU SUR                  5        35      eUb3  UR                  5       U:w  a  [        SU SUR                  5        35      eUb+  UR                  U:w  a  [        SU SUR                   35      eUb+  UR                  U:w  a  [        SU SUR                   35      eUb,  UR
                  U:w  a  [        SU SUR
                   35      eg g )Nz!Tensor sizes mismatch! Expected: z, Got: z#Tensor strides mismatch! Expected: z!Tensor dtype mismatch! Expected: z"Tensor layout mismatch! Expected: z"Tensor device mismatch! Expected: )r   rP   r   rb  r  r7   )ru   rU   tr  rB  rb  r7   r  s           r0   assert_tensor_metadatar  *  s    668u 3E7'!&&(L  88:  5gYgahhj\R  77e 3E7'!''K  88v 4VHGAHH:N  88v 4VHGAHH:N   r2   c                P    [         R                  R                  U R                  ;   $ r;   )rA   r   data_dependent_outputr   r   s    r0   r   r   R  s    uyy>>$))Kr2   c                    [        U5      er;   )r   rt   s       r0   data_depr  R  s     't
,,r2   c                    U HA  nUc  M  UR                   [        R                  [        R                  4;   d  M8  [	        U 5      e   g r;   )rb  rA   r   uint8r   )rU   r   indicesr   s       r0   check_no_bool_index_tensorsr  [  s7     U[[0I!I-d33 r2   c                   [        XUSS9u  pEUS   R                  n[        U 5         U" U0 UD6n[        U5      (       d  UR	                  UR
                  5      nS S S 5        WUS   L a  U$ [        XU5      $ ! , (       d  f       N$= fNTrz   r}   )r   r7   r   r8   r   r   r   )ru   rU   rv   rw   r   r   r   rS  s           r0   )run_and_return_new_tensor_of_input_devicer  c  s     1TMA G$++J	%i	0D#F#)*55--		*C 
1
 j!!
ij11 
1	0s   4A::
Br   primsprimc                (    U R                   [        ;   $ r;   )	namespace_is_builtin_namespacesrk   s    r0   
is_builtinr  {  s    <<111r2   c                ^    [         R                  R                  U R                  5       S5      $ )NMeta)rA   rB   ._dispatch_has_computed_kernel_for_dispatch_keyr   r   s    r0   r+   r+     s     88BB499;PVWWr2   c                    [        U 5      =(       a1    U R                  5       R                  S5      =(       a    [        U 5      $ )Nzaten::_foreach_)r  r   
startswithr+   r   s    r0   r   r     s4    D! 		01r2   c           	        [         R                  " X#R                  5       5       Vs/ s HX  n[        U[        [
        45      (       d  M   [        U5      (       d  M2  [        US   [        R                  5      (       d  MV  UPMZ     nn [        U 5         U" U0 UD6nS S S 5        W(       d  U$ U(       d  [        S5      e/ n[        U5       H[  u  p[        R                  " X V
s/ s H  oU   PM	     sn
5      u  pUR!                  U R"                  R%                  X	U5      5        M]     U$ s  snf ! , (       d  f       N= f! [         a	    [        s $ f = fs  sn
f )Nr   ztensor_lists must not be empty)r   r   r   rO   r[   r\   rS   rA   r   r   re  r   rP   	enumerater   _find_common_devicer_   r   r   )ru   rU   rv   rw   rL   tensor_listsout_metaout_fakeimeta_ttlr7   r   s                r0    foreach_run_and_map_input_devicer    s0    ??499CcD%=) 	 H 	 s1vu||,	 	9  ))4T,V,H 5
 =>>Hx(	224,9W,BQ%,9WX	++@@6	
 ) O; 54  :XsM   D.
D. D. D.	E 	D3E &E3
E=E E EEc                    SSK Jn  [        XUSS9u  pVUS   R                  nU    U" U0 UD6nUR	                  U5      sS S S 5        $ ! , (       d  f       g = f)Nr   )meta_index_TensorTrz   r}   )torch._meta_registrationsr  r   r7   to)	ru   rU   rv   rw   r  r   r   r   rS  s	            r0   index_tensorr    sT     <0TMA G$++J	00vvj! 
s   A
Ac                X    SSK Jn  U    U" U0 UD6sS S S 5        $ ! , (       d  f       g = f)Nr   )meta_embedding_bag)r  r  )ru   rU   rv   rw   r  s        r0   embedding_bagr    s!     =	!4262 
s   
)c                    [        XX#5      $ r;   )r  rt   s       r0   multi_device_op_defaultr    s     5YdSSr2   c                    [        U 5         U" U0 UD6  S S S 5        [        XUSS9u  pEUS   $ ! , (       d  f       N = fr  )r   r   )ru   rU   rv   rw   r   r   s         r0   multi_device_op_outr    sI    
 
&i	0df 
1 1TMA g 
1	0s   	/
=c                `  ^^^ [        TX#SS9u  pEUS   mUS   R                  m[        R                  " TTR                  :H  =(       d)    TR                  S:H  =(       a    TR                  5       S:H  UUU4S j5        [        U TX#5      nT[        R                  R                  L a  US   $ U$ )NTrz   r   r}   r   rN   c                 0   > ST  ST STR                    S3$ )NzMismatching z device between self (z) and values ()r6   )rU   self_devicer   s   r0   r    index_put_impl.<locals>.<lambda>  s$    ,tf$:;-~V\VcVcUddefr2   )
r   r   rA   r5  r   r   r  r   
index_put_r   )	ru   rU   rv   rw   r   r   rS  r  r   s	    `     @@r0   index_put_implr    s    
 14TMA !FW%11K	LLv)))WfkkQ.>.V6<<>UVCVf
 4ItT
RCt&&&'""
r2   c                    [        U5      er;   )r   rt   s       r0   nested_tensors_unsupportedr    s     't
,,r2   c                4    U[         ;   a  [        SU 35      eg )NzNYI: )_device_not_kwarg_opsrP   rt   s       r0   nyir    s#      $$uTF^,, %r2   c                l  ^ ^ [        XUSS9u  pEUS   R                  mT    US   R                  nUS   R                  S   nSSKJn  U" U5      (       d  S n	GO4U[        R                  R                  L a!  [        R                  R                  " S0 UD6n
OA[        R                  R                  US   US   S US   US   US	   US
   US   US   US   S9
n
US:X  a  US   R                  (       d  US   R                  (       d  US   R                  5       R                  S5      US'   US   R                  S5      US'   [!        US   5      S:X  aT  US   R#                  SS5        US   R#                  SS5        US	   R#                  SS5        US   R#                  SS5        [        R                  R%                  US   US   U
5      n	US:X  a  US   R                  (       d  US   R                  (       d  US   R'                  S5      US'   US   R'                  S5      US'   [!        US   5      S:X  aP  US   R)                  S5        US   R)                  S5        US	   R)                  S5        US   R)                  S5        S S S 5              SUU 4S jjn[+        T 5         U" S0 UD6nU[        R                  R                  L a  U" UW	5      sS S S 5        $ U" US   W	5      U" US   U	5      U" US   S 5      4sS S S 5        $ ! , (       d  f       N= f! , (       d  f       g = f)NTrz   r}   weightr   r  r   paddingdilation
transposedoutput_paddinggroups
bias_sizes)biasr   r  r  r  r  r  r     r  rN   c                   > U c  U $ Ube  U R                  5       S:X  aB  U[        R                  :X  a.  U R                  S5      R	                  US9R                  S5      n OU R	                  US9n [        TU T5      $ )Nr  r  rG  )r   rA   channels_lastr7  r  r8  r   )r  mem_fmtr7   ru   s     r0   convertconv.<locals>.convertb  st     9Huuw!|5+>+> >KKN%%G%<DDQGDDwD/)Q//r2   rh   )r  ztorch.Tensor | Noner  ztorch.memory_format | Nonerg   FakeTensor | None)r   r   r   r   r   r  r   convolutionr   rA   rB   _select_conv_backendrI  is_xpu
contiguousr7  rS   insert%_conv_determine_backend_memory_formatr8  rn   r   )ru   rU   rv   rw   r   r   kbatchr  r  conv_backendr  rS  r7   s   `            @r0   convr    sS    1TMA  ,,F	x %%7#))!, 	C Gt''///$xx<<JzJ$xx<<w'x(%h/&y1'
3),7#-.>#?%h/),7  =    Q"7+55"7+22 '1&9&D&D&F&P&PQR&S
7#'1(';'E'Ea'H
8$z(+,1x(//15y)00A6z*11!Q7/0771=hhDD7#Z%9<G
 Q"7+55"7+22&0&9&A&A!&D
7#'1(';'C'CA'F
8$z(+,1x(,,Q/y)--a0z*..q1/044Q7w 
z00)C0	0 0 
&i	0 Z 4##+++3(	 
1	0 A(A(A% 
1	0U 
T 
1	0s   I-L0.L%("L%
L"%
L3c                
   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        [        R                  " XT:  5        UR                  U5      $ r[  )	r   r   r   r   r   r   rA   r5  r   )ru   rU   inputsweights	minlengthr   r   s          r0   bincountr  |  sk     	#""AA *$//""99;HOh'	LL&'H%%r2   c                T   U R                   b  U R                   R                  (       d  [        U5      eU R                   R                  5       nSSKJn  U" U5        U(       d  UR                  SS5      nUR                  SS  nUR                  U5      nUR                  U45      n	X4$ )Nr   r\  rN   )	r   r   r   r   r   r   	transposer   r   )
ru   rU   r  lengthsbatch_firstnew_batch_sizer   res_sizepacked_data
batch_sizes
             r0   _pack_padded_sequencer    s     	#""AA *$//((??ANOn-!!!Q'||ABH""8,K!!>"34J$$r2   c                   ^  SU 4S jjnU$ )Nc                   > U [         T'   U $ r;   )FAST_OP_IMPLEMENTATIONS)r`   rU   s    r0   rc   -register_fast_op_impl.<locals>.impl_decorator  s    (/%r2   re   rh   )rU   rc   s   ` r0   register_fast_op_implr    s     r2   c                  ^
^^ SSK Jn  [        U 5      n[        U5      n[        X45      nS/U-  n[	        US-
  SS5       H  m
US-
  T
-
  nUS-
  U-
  nUS-
  U-
  n	US:  a  X   OSmU	S:  a  X   OSm[
        R                  " U" TS:H  5      =(       d    U" TS:H  5      =(       d    TT:H  U
UU4S j5        U" TS:H  5      (       a  TOTUT
'   M     [        U5      $ )Nr   r   rN   r  c                    > ST ST ST  S3$ )NzThe size of tensor a (z#) must match the size of tensor b (z) at non-singleton dimension r  rh   )r  sizeAsizeBs   r0   r   infer_size.<locals>.<lambda>  s%    ,UG 4005w 7**+A/r2   )r   r   rS   r   r  rA   r5  r\   )r)  br   dimsAdimsBr   expandedSizesoffsetdimAdimBr  r  r  s             @@@r0   r4  r4    s     EFEFEuD()sTzM4!8R$Aqy6!qy6!19!19! 	5A:&V.!*DVQV/	
 %35A:$>$>5Ea1 %2 r2   c                   ^ ^ SU U4S jjnU$ )Nc           
       >^ ^^ SUUU U4S jjn[        S5        TnS nU H@  n[        U[        R                  5      (       a  UR                  OSnUc  Un[        XW5      nMB     Uc  [        S5      eSSKJnJ	n	  U Hh  n[        U[        R                  5      (       d  M$  [        UR                  5      [        U5      :X  d  MH  U" U	" UR                  U5      5      (       d  Mh    O
   U" S5      $ [        R                  " S5      n
U
nS nS	nU H  n[        U[        R                  5      (       d  S
nM&  X:X  a&  UR                  R                  S:w  a  UR                  nUc&  T[        R                  :w  a  S
nMl  UR                  nMz  XR                  :w  d  M  S
nM     U(       a  [!        UST06u  pSnSnU H~  n[        U[        R                  5      (       d  M$  X:w  a;  UR#                  5       S:X  a'  UR                  U
:X  a  UU:  a
  U" S5      s  $ US-  nMd  UR                  U:w  d  Mv  U" S5      s  $    S
nS
n[%        U5      (       al  U Hf  n[        U[        R                  5      (       d  M$  U=(       a    ['        U[        R(                  S9nU=(       a    ['        U[        R*                  S9nMh     U(       a9  [        S5        [-        T [        R.                  " UUS[        R(                  S9US9$ U(       a9  [        S5        [-        T [        R.                  " UUS[        R*                  S9US9$ U" S5      $ )Nc                j   > [        SU  35        T   T" T0 TD6sS S S 5        $ ! , (       d  f       g = f)Nzslow r   )rD  rv   rw   modeslow_refs    r0   slow=make_fast_binary_impl.<locals>.fast_binary_impl.<locals>.slow  s+    %u&00 s   $
2zattempt fastrh   zfinal_shape must not be Noner   r-  z#both tensors nontrivially broadcastr~   FTtype_promotion_kindrN   errorrG  zfast is_contiguousr   )rb  r7   rH  r6   zfast channels_lastzno contiguity match)rD  strrg   r   )r    rO   rA   r   r   r4  rP   r   r   r  rS   r7   r5   r   DEFAULTrb  r   r   r8   r   rM  r  r   empty)r  rv   rw   r  operandsfinal_shapera   r   r   r  r~   common_devicecommon_dtypehas_different_input_dtypesr   current_cpu_scalars_on_non_cpumax_cpu_scalars_on_non_cpudefinitely_contiguousdefinitely_channels_lastr  r  s   ```                r0   fast_binary_impl/make_fast_binary_impl.<locals>.fast_binary_impl  s   	1 	1
 	N#  )-B+5b%,,+G+GrxxRE"#
 %[8K   !?@@P B2u||,,MS%55"6"((K#@AA  =>> ll5!&)+/%*"Bb%,,//-1*#		%(? "		#&*I*Q*QQ15.#%88L)-1*  & 1/BOA *+&%&"Bb%,,//#A"))s:J15OO=(.!3.m+G}$  !%#' 
 &m44!"ell33) @%*A*A & - @%*=*= )  !,-&!"'"9"9	 %	 	 $,-&!"'"5"5	 %	 	 )**r2   )r  r#   rv   r   rw   r   rg   r   rh   )r  r  r   s   `` r0   make_fast_binary_implr"    s    K+ K+Z r2   c                v   [        5          [        U 5         [        R                  R                  R
                  R                  U5      nS S S 5        S S S 5        U(       a   [        U WUR                  UR                  S9$ [        U WUR                  5      $ ! , (       d  f       NT= f! , (       d  f       N]= f)N)real_tensor)
r   r   rA   rh  r   detachr   r   r7   r$  )ru   r   include_realrS  s       r0   fast_detachr'    sy     
	!=i!Hiinn##++A. "I	)S!((NNiahh//	 "I!H		s"   B*4BB*
B'	#B**
B8c                 Z   SS K n [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  5      5        [        U R                  R                  R                  R
                  5      " [        U R                  R                  [        R                  S95        [        U R                  R                  R                  R                  5      " [        5        [         $ )Nr   )r  )torch._refsr  rh  r   addr   r"  r6  subr  divr   INT_TO_FLOATr%  r   r'  r  )rA   s    r0   r)   r)     s   %))..,,334ekkoo. %))..,,334ekkoo. %))..,,334ekkoo. %))..,,334KKOO ? L L	
 %))..//778E""r2   )r/   r'   rg   zdict[_T, bool])r7   ztorch.devicerg   r   )rH   r   rg   r   )rU   r   rg   r   )rb   zUCallable[[OpOverload], bool] | OpOverload | list[OpOverload] | tuple[OpOverload, ...]rg   .Callable[[Callable[_P, _R]], Callable[_P, _R]])ra   r   rg   r   )ra   r   rg   None)
ru   r#   rU   r   rv   r   rw   r   rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r   r;   )
ru   r#   rU   r   r   r  rv   object | Nonerg   r   )ru   r#   rU   r   r   r   rg   r/  )
ru   r#   rU   r   r   r  rv   r0  rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   r/  )TFF)ru   r#   rU   r   rL   r   r   
int | Noner   r   r   r   r   r   r   r   rg   )tuple[FakeTensor, FakeTensor, FakeTensor])ru   r#   rU   r   rL   r   r   r   r   r   r   r   rg   r2  )ru   r#   rU   r   r   r   r   r   r   r$   rg   r   )ru   r#   rU   r   rL   r   r   r   r   r   r   r   r   r   rg   r2  )FFN)ru   r#   rU   r   rL   r   r   r   r   r   r   r1  rg   r2  )F)
r  Sequence[IntLikeType]r  r3  r  r3  r  r   rg   zlist[IntLikeType] | None)r)  torch.Tensorr   ShapeType | tuple[ShapeType]rg   r   )T)r)  r4  r   r5  r2  r   rg   r4  )
ru   r#   rU   r   r)  r   r   r   rg   zFakeTensor | Exception)
ru   r#   rU   r   r)  r   r   r   rg   r   )ru   r#   rU   r   r)  r   r   r$   rS  r  rg   r   )
ru   r#   rU   r   r]  r   r^  IntLikeType | Nonerg   r   )ru   r#   rU   r   rL   r   rg   zBint | float | bool | torch.SymInt | torch.SymFloat | torch.SymBool)ru   r#   rU   r   rL   r   rg   list[FakeTensor])ru   r#   rU   r   rL   r   rg   r   )ru   r#   rU   r   r  r   r  r7  r  r6  rg   r   )r   r$   r   r$   rg   r6  )r   NNrN   )ru   r#   rU   r   r   r   r   r   r  r1  r  r1  r  r   rg   r   )
ru   r#   rU   r   r   r   r  r   rg   r   )NNN)ru   r#   rU   r   r  r   r  ztorch.Size | NonerB  ztuple[int, ...] | Nonerb  ztorch.dtype | Noner7   ztorch.device | Noner  ztorch.layout | Nonerg   r/  )rU   r   r   r   r  zlist[FakeTensor | None]rg   r/  )
ru   r#   rU   r   rv   ztuple[Any, ...]rw   zdict[str, Any]rg   r   )
ru   r#   rU   r   rv   r   rw   r   rg   zlist[FakeTensor] | None)
ru   r#   rU   r   rv   r   rw   r   rg   z5tuple[FakeTensor, FakeTensor, FakeTensor, FakeTensor])
ru   r#   rU   r   rv   r   rw   r   rg   zKFakeTensor | tuple[FakeTensor | None, FakeTensor | None, FakeTensor | None])Nr   )ru   r#   rU   r   r  r   r  r  r  r$   rg   r   )ru   r#   rU   r   r  r   r  r   r  r   rg   ztuple[FakeTensor, FakeTensor])rU   r   rg   r.  )r)  r3  r  r3  rg   ztuple[IntLikeType, ...])r  zCallable[..., Any]r  r   rg   zCallable[..., FakeTensor])ru   r#   r   r   r&  r   rg   r   )rg   z$dict[OpOverload, Callable[..., Any]])
__future__r   	functoolsr   rs  r  r   r   typingr   r   rK  r   r   r	   typing_extensionsr
   rA   torch._custom_optorch._loggingtorch._prims_common_prims_commonr'  torch._dispatch.pythonr   
torch._opsr   r   r   r   r   r   r   r   r   r   r   r   torch._subclasses.fake_tensorr   r   r   r   r   r   torch.fx.operator_schemasr   torch.utils._statsr    collections.abcr!   r"   r#   torch.typesr$   r   FakeTensorLiker%   r&   r'   _pytreer   __all__rZ   r(   _opsrh  r   r1   r8   r   r   rS  	full_like	ones_like	rand_like	generatorgenerator_out
randn_likerandint_likeTensor_generator
Tensor_outTensor_generator_out	low_dtypelow_generator_dtypelow_dtype_outlow_generator_dtype_out
zeros_liker   ry  new_full	new_zerosnew_onesr   _resize_output__nested_tensor_from_tensor_list
pin_memoryr  r7   prim_Device	is_pinned_pin_memory_resize_outputr  _list_to_tensorr   r<   cacherW   r]   rl   rr   __contains__rx   r   r   profilerr   r   r   r   r*   r   r   r   r   r   _unique2r   selectr   r   r  r   r  r*  r=  rO  rN  _unsafe_viewrJ  	view_copyrY  r   r_  item_local_scalar_denserf  rj  r   r  r  slicer  r  _assert_tensor_metadatar  r  r  r  r  r  r+   r  r   r  _embedding_bagr  _unsafe_index_putcopycopy_slice_scatterdiagonal_scatterr  r  	index_putr  r  _nested_view_from_buffer_nested_view_from_buffer_copyr  r  r  convolution_backwardr  r  r  r  r  r4  r  r"  r'  r)   r   s   0r0   <module>rz     s   "     
  J J '    # 7 !     C * 2<' z5<</0t_T]T]			    zz~~&  ( 'OO'OO' 	NN' 	NN	'
 	NN' 	NN' 	NN' 	NN' 	NN' 	NN  ' 	OO' 	OO' 	OO' 	OO!!' 	'  	!'" 	#'$ 	&&%'& 	  ''( 	**)'* 	+', 	##-'. 	/'0 	))1'2 	##3'4 	--5'6 	OO7'8 	OO9': 	NN;'< 	NN='> 	""?'@ 	A'B 	MMC'D 	MME'F 	NNG'H 	NNI'J 	MMK'L 	MMM' T $  ((00((,,OOGGNNGGNN  #'"6"6!8  	 	
 44) )667KK%/K8;KGJKK 8K ().-./00%/08;0GJ00 0 *0@ $..(()%/8;GJ	 *  %))$$;;CCDRV	C	C%/	C7:	CBO	C	C E	C %))$$::BBC		%/	9<			 D	 %))$$??GGHRV  %/ 7: BO   I  $''%%&$''..!%/8;GJ " '$
 %&--%/-8;-GJ-- '-D $//))*%%%/%8;%GJ%% +% $??GGH::%/:8;:GJ:: I: T
,,%/,8;,GJ,	,
,  K  %KK
K 
K 
	K
 K K K K /K\ $--''(
  VV
V 
V 	V
 V V /V )V $++//".E.E
.E .E 
	.E
 .E .E #.Eb $//))*  
 
 
	
    / +* $))112
 !
 
 	
  
 / 32 !	L$L%L %L 	L
 L^8	" $(FF'F !F 	FR $$$,,-

%/
4>
HK

 .
, $))##$$##++,



 
 	

 
 - %
  $..(() "
  	
 
  *$ $((//0
 '+	**
* * $	*
 * 1*. %))..%%--.%))..44<<=%/6@G > /. %))....66799%/96@99 89 %))..((001/P 2/Pd %))..@@HHI #'%*%*
%* %* 	%*
  %* %* J%*P %))..&&--.
 D?D?
D? D? 
	D?
 D? 
D? D? D? /D?N %))....667("("%/("7A("IS("(" 8("V %))..88@@A
  $&* $# #'"&##
# # 	#
 $# #  #  # 
# B#N KL--%/-8;-GJ-	- M-4
4&41H4	422
2 2 	2
 2* %VWf= 2X
 
  %/ 8; GJ  
 L $**##$""%/"8;"GJ"" %"$ $%%--.33%/38;3GJ3:3 /3 $((001$))##$$**$$%$$$,,-$''//0TT%/T8;TGJTT 1 . & % 2
T $))-- $$$(()

%/
8;
GJ

 * !
 $..(()$//))*%/8;GJ + *( $66>>?$66::;$//778$44<<=--%/-8;-GJ-	- > 9 < @-  '&A NN""GGNNGG00880044

 	
&--
 4##++T-F-F-N-NOP\\%/\8;\GJ\P\ Q\~ %))..))112
 "&&&
& & 	&
 & & 3&. %))..66>>?%%
% % 	%
 % #% @%>  

3" " !6" " N <[;b;bQ Q8Q Qn DI00",0<@00 # #Cs   3A3A@$*A@$