
    ΧgK                        d dl mZ d dlmZmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#  ed e
 ee!                              Z$ ed e
 ee"                              Z% e# ee                    Z& e# ee                     Z' e e# ee                              Z( e ee                    Z) e ee"                    Z* G d de+          Z,ddd	ddZ-dS )    )annotations)NoReturnSequence)ArrayRefCType	BaseCTypeBindingboolTConstRefCTypedeviceTExprintArrayRefTiOptTensorListRefTlayoutT	ListCTypelongTmemoryFormatTMutRefCType
NamedCTypeopmath_tOptionalCTypeoptionalIntArrayRefToptionalScalarRefToptionalSymIntArrayRefToptionalTensorRefTscalar_tscalarTscalarTypeTSpecialArgNamesymIntArrayRefTSymIntTtensorOptionsTtensorTVectorCTypeoptionsoutc                      e Zd ZdS )
UnsatErrorN)__name__
__module____qualname__     R/var/www/html/ai-engine/env/lib/python3.11/site-packages/torchgen/api/translate.pyr'   r'   N   s        Dr,   r'   F)methodallow_expensive_conversionsbindingsSequence[Expr | Binding]goalsSequence[NamedCType | Binding]r.   boolr/   return
list[Expr]c               N  	
 g }| D ][}t          |t                    r/|                    t          |j        |j                             F|                    |           \g 	|D ]G}t          |t                    r	                    |j                   2	                    |           Hi |D ]}|j        |j        <   |j        }t          |t                    rt          |j	        t                    rt          |j	        j	        t                    rtt          |j	        j	        j                  dk    rRd|j         d|j         dt          |j	        j	        j        t          t          t                                        <   |j        t          t          t          t                                        k    rCd|j         d|j         d|j         d	t          |j        t          t                              <   |j        t          t          t                               k    r3d|j         d
t          |j        t          t"                              <   |j        t          t          t          t                                         k    r;d|j         d|j         dt          |j        t          t$                              <   |j        t          t&                    k    r3d|j         dt          |j        t          t"                              <   |j        t          t)          t          t          t                                                  k    r3d|j         dt          |j        t          t*                              <   |rddt          dt-          t          t                                        <   dt          dt          t          t                                        <   dfdd	
fd

fd	D             S )N)exprtypez
at::Tensor(z.has_value() ? *z : at::Tensor())z((z.has_value() && (*z&).defined()) ? at::OptionalTensorRef(*z) : at::OptionalTensorRef())z).to<opmath_t>()z'.has_value() ? at::OptionalScalarRef(&(z%.value())) : at::OptionalScalarRef())zstatic_cast<opmath_t>()zat::IOptTensorListRef(zconst_cast<Tensor&>(*this)selfgoalr   r5   r   c           	         d                     d                                 D                       }t          d|                                  d| j         d| d          )N
c              3  `   K   | ])\  }}d |                                  d|j         d| V  *dS )z   z; // N)cpp_typename).0tes      r-   	<genexpr>z+translate.<locals>.unsat.<locals>.<genexpr>   sZ       
 
59Q00000Q00
 
 
 
 
 
r,   z&
Failed to synthesize the expression "rA   zI".
When I failed, the following bindings were available in the context:

z~

This probably means there is a missing rule in the rules of torchgen.api.translate.
Check this module for more information.
)joinitemsr'   rB   rC   )r=   ctx_descctxs     r-   unsatztranslate.<locals>.unsat   s    99 
 
=@YY[[
 
 
 
 
 &*mmoo 8<	  
	  

 

 
	
r,   directr4   strc          
        d*fd}| v r|          S t          | j        t                    rH	  t          | j        t          | j        j                            |          S # t          $ r Y nw xY wt          | j        t
                    r;	  t          | j        | j        j                  |          S # t          $ r Y nw xY w| j        t          t          t                              k    r2 t          | j        t          t                              |          S |r |            | t          dt          t          t                                        k    ry |t          t          j        t          t          t                                                  }t           v r|S 	  |t                     }d| d	| d
S # t          $ r |cY S w xY w| t          dt          t"                              k    r |t          dt          t          t$                                                  } |t          dt          t          t&                                                  } |t          dt          t          t(                                                  } |t          dt          t          t*                                                  }d| d| d| d| d
	S | t          dt          t          t$                                        k    r<	  |t                     }d| dS # t          $ r  |t,                    }	|	 dcY S w xY w| t          dt          t          t*                                        k    r;	  |t                     }| dS # t          $ r  |t,                    }	|	 dcY S w xY w| t          dt          t          t(                                        k    r;	  |t                     }| dS # t          $ r  |t,                    }	|	 dcY S w xY w| t          dt          t          t&                                        k    r7	  |t                     }| dS # t          $ r  |t,                    }	Y dS w xY w| j        t          t                    k    rj	  |t          | j        t.                              S # t          $ r9  |t          | j        t          t0                                        }
d|
 d
cY S w xY w| j        t          t0                    k    rj	  |t          | j        t          t                                        }d| d
S # t          $ r&  |t          | j        t2                              cY S w xY w| j        t          t4                    k    r0 |t          | j        t          t                                        S | j        t          t          t4                              k    rE |t          | j        t          t          t                                                  }| d| d S | j        t          t                    k    r5 |t          | j        t          t4                                        }| d!S | j        t          t          t                              k    rE |t          | j        t          t          t4                                                  }| d"| d#S | j        t          t6                    k    rl	  |t          | j        t8                              S # t          $ r;  |t          | j        t          t:                                        }| d$| d cY S w xY w| j        t          t:                    k    r8 |t          | j        t          t6                                        }| d%| d S | j        t          t<                    k    r# |t          | j        t>                              S | j        t          t@                    k    r# |t          | j        tB                              S r| j        tE          t          t                              k    r7t          | j        t          t                              } ||          }| d&S | j        tE          t          t4                              k    r7t          | j        t          t0                              } ||          }| d&S | j        t          tE          t          t                                        k    r:t          | j        t          t6                              } ||          }| d"| d'S | j        t          t          tF                              k    r:t          | j        t          t<                              } ||          }| d"| d(S | j        t          t          tF                              k    r:t          | j        t          t@                              } ||          }| d"| d(S | j        t          t          tH                              k    rEt          | j        t          t          tH                                        } ||          }d)| d
S  |            d S )+Nr=   r   r5   rN   c                     | d          S )NTrM   r+   )r=   solves    r-   direct_solvez.translate.<locals>.solve.<locals>.direct_solve   s    5d++++r,   rQ   memory_formatz:c10::impl::check_tensor_options_and_extract_memory_format(z, r;   r$   dtype
pin_memorydevicelayoutzTensorOptions().dtype(z	).layout(z	).device(z).pinned_memory(zc10::optTypeMetaToScalarType(z.dtype_opt())z.scalar_type()z.layout_opt()z	.layout()z.device_opt()z	.device()z.pinned_memory_opt()z::std::nulloptzC10_AS_INTARRAYREF_SLOW(zc10::fromIntArrayRefSlow(z1.has_value() ? ::std::make_optional(c10::SymInt(*z)) : ::std::nulloptz.guard_int(__FILE__, __LINE__)z$.has_value() ? ::std::make_optional(z1->guard_int(__FILE__, __LINE__)) : ::std::nulloptz=.has_value() ? ::std::make_optional(C10_AS_INTARRAYREF_SLOW(*z>.has_value() ? ::std::make_optional(c10::fromIntArrayRefSlow(*z.vec()z->vec()) : ::std::nulloptz) : ::std::nulloptzconst_cast<Tensor&>()r=   r   r5   rN   )%
isinstancer9   r
   r   rC   r   elemr'   r   r   r   r   r   r   r    possibly_redundant_memory_formatoptions_ctyper!   r   r	   r   r   out_tensor_ctypelongVec_ctyper   longSymVec_ctyper    r   optionalLongVec_ctyper   r   optionalScalar_ctyper   optionalTensor_ctyper#   r   r"   )r=   rM   rS   rT   r$   rU   rV   rW   rX   
out_tensorsymIntArrayRef_typerargnamesymInt_typeintArrayRef_ctypesymIntArrayRef_ctypeoptionalIntArrayRef_ctypeoptionalScalarRef_ctypeoptionalTensorRef_ctypeconst_ref_tensor_ctyper/   rK   goal_ctypesrR   rL   s                       r-   rR   ztranslate.<locals>.solve   s   	, 	, 	, 	, 	, 	, 3;;t9 di// 		 uty+din*E*EFFv        di-- 	uZ	49>BB6RRRR    9i&6&677775DIy/F/FGGPVWWWW 	E$KKK :o}Y}=U=U/V/VWWWW(L"C!)M":":;;  M ++$$%&,}55oT[oo_loooo % % %$$$$%Z	9^+D+DEEEE L7M)K2H2H$I$IJJ E &<y7G7G)H)HII J "\8]9W3E3E%F%FGG F "\8]9W3E3E%F%FGG F sErrFrrVrreorrrrZy7M7M)N)NOOOO5&,}55MwMMMM 5 5 5)\*:;;
$4444445 Z-	'8J8J*K*KLLLL0&,}55!0000 0 0 0)\*:;;
$//////0 Z-	'8J8J*K*KLLLL0&,}55!0000 0 0 0)\*:;;
$//////0 ZmIe<L<L.M.MNNNN(&,}55!7777 ( ( ( *\*:;;
'''	( Y)L1111I#|Jty-$H$HIII I I I&2lty)O*D*DEE' '# I2EHHHHHHI Y)O4444M LDIy7N7N!O!OPP717777 M M M#|Jty:J$K$KLLLLLMY)G,,,,<
49i6F6F G GHHHY-	'(:(:;;;;"l49mIe4D4D&E&EFF G llPWllllY)E****&,z$)Yw=O=O'P'PQQK!AAAAY-	%(8(89999"l49mIg4F4F&G&GHH G }}7}}}}Y)$89999}#|Jty:O$P$PQQQ } } }&,ty)4K*L*LMM  "||`g||||||	}
 Y)$;<<<< #l49i0D&E&EFF G yy]dyyyyY)$67777<
496J K KLLLY)$67777<
496J K KLLL ' 	cyK	%(8(89999$.ty)L:Q:Q$R$R!&,'899!))))yK	'(:(:;;;;'1$)Y=W=W'X'X$&,';<<!))))mK	%8H8H,I,IJJJJ,6Iy)=>>- -) ','@AA!iiwiiiimIg,>,>????*4Iy);<<+ +' ','>??!bbwbbbbmIg,>,>????*4Iy);<<+ +' ','>??!bbwbbbb 9Ig$6$67777%/	=7););<<& &" #l#9::G4'4444ds   6A& &
A32A3)B; ;
CC5G GG)L? ?M! M!N- -OOP P=<P=4R	 	R'&R'"S+ +A T.-T.5V -V54V5"]6 6A^;:^;c                F    g | ]}t           |d           |          S )FrQ   )r   )rD   grR   s     r-   
<listcomp>ztranslate.<locals>.<listcomp>  s2    AAADq'''++AAAr,   )r=   r   r5   r   )r=   r   rM   r4   r5   rN   )rY   r   appendr   rC   nctyper8   r9   r
   rZ   r   r   rN   r   r"   r   r   r   r   r   r   r   r   )r0   r2   r.   r/   binding_exprsbrp   rE   rK   rn   rR   rL   s      `    @@@@r-   	translaterv   c   sk    !#M 	$ 	$a!! 	$          ####$&K " "a!! 	"qx((((q!!!! "$C B3 B3fAF@ Fq-((	E16=11	E 16;	22	E AFK$%%55 EAFDDAFDDD 16;+]9W;M;M-N-NOO 6]=71C1C#D#DEEEE BQV  B  Bqv  B  B]^]c  B  B  B 169-?#@#@AA 6]9W#5#56666;Wqv;W;W;WC
169X#6#67786]=71C1C#D#DEEEE qAFpp16ppp 169-?#@#@AA 6Yx(((( 3222 169X#6#677
 6]9]9W;M;M-N-N#O#OPPPP 3222 169-?#@#@AA
  ) ) 	v{9W+=+=>>??	

 ) 	v}Yw-?-?@@AA	

 
 
 
 
 
.J J J J J J J J J JX BAAA[AAAAr,   N)
r0   r1   r2   r3   r.   r4   r/   r4   r5   r6   ).
__future__r   typingr   r   torchgen.api.typesr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r\   r]   r^   r_   r`   ra   rb   RuntimeErrorr'   rv   r+   r,   r-   <module>r{      s   " " " " " " % % % % % % % %                                                               | 
9mmIIn4M4M&N&NOO:e]]99W3E3E%F%FGG IIe,,--;yy1122 %kk))E2B2B&C&CDD $}YYw%7%788 $}YYw%7%788 	 	 	 	 	 	 	 	2 (-NB NB NB NB NB NB NB NBr,   