
    sh	                        % S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S\\	   4S jr
S\\	   4S jr\\\\         r\\S	'   \\   r\\S
'   \R                  /r\" 5        SS\S\S\\\R(                  \R*                  4   \\\4   4   4S jj5       rS\R(                  S\4S jrS\\   S\R(                  S\4S jrg)    )OptionalN)Tensor)no_grad)	TypeAliasreturnc                  D    SS[         R                  R                  5       /$ )z:Return the device type list that supports foreach kernels.cudaxputorch_C_get_privateuse1_backend_name     n/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/_foreach_utils.py&_get_foreach_kernels_supported_devicesr      s    E588AACDDr   c                  J    SSSSS[         R                  R                  5       /$ )zEReturn the device type list that supports fused kernels in optimizer.mpsr	   r
   hpucpur   r   r   r   $_get_fused_kernels_supported_devicesr      s"    65%0V0V0XYYr   TensorListListIndicestensorlistlistwith_indicesc                 @    [         R                  R                  X5      $ N)r   r   "_group_tensors_by_device_and_dtype)r   r   s     r   r   r       s    
 8866~TTr   devicec                     U R                   [        5       S/-   ;   =(       a#    [        R                  R	                  5       (       + $ )Nr   )typer   r   jitis_scripting)r   s    r   _device_has_foreach_supportr$   '   s4    ;;ACugMNoW\W`W`WmWmWoSoor   tensorsc                 J    [        U5      =(       a    [        S U  5       5      $ )Nc              3   Z   #    U  H!  oS L =(       d    [        U5      [        ;   v   M#     g 7fr   )r!   _foreach_supported_types).0ts     r   	<genexpr>'_has_foreach_support.<locals>.<genexpr>,   s'     6yqxlmDy7gDGOgDg7gqxs   )+)r$   all)r%   r   s     r   _has_foreach_supportr.   +   s    &v.y36yqx6y3yyr   )F)typingr   r   r   torch.autograd.grad_moder   typing_extensionsr   liststrr   r   r   __annotations__intr   r(   booldicttupler   dtyper   r$   r.   r   r   r   <module>r:      s      , 'ES	 EZd3i Z !hv&6!78	 8#Y !LL>  	 U"UU 
%ekk)
*E.'2I,J
JKU Up p pz$v, z z zr   