a
    €þd  ã                   @   sF   d dl Z d dlZd dlmZmZmZ e jdd„ ƒZdd„ Zdd„ Z	dS )	é    N)Ú*set_single_level_autograd_function_allowedÚ*get_single_level_autograd_function_allowedÚunwrap_if_deadc                  c   s0   z t ƒ } tdƒ d V  W t| ƒ n
t| ƒ 0 d S )NT)r   r   )Z
prev_state© r   ú_/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/torch/_functorch/utils.pyÚ%enable_single_level_autograd_function	   s
    r   c                 C   s   t dd„ | D ƒƒ}|S )Nc                 s   s&   | ]}t |tjƒrt|ƒn|V  qd S ©N)Ú
isinstanceÚtorchZTensorr   )Ú.0Úargr   r   r   Ú	<genexpr>   s   ÿz'unwrap_dead_wrappers.<locals>.<genexpr>)Útuple)ÚargsÚresultr   r   r   Úunwrap_dead_wrappers   s    þr   c                    s   ‡ fdd„}|S )Nc                    s
   ˆ | _ | S r   )Ú
__module__)Úfn©Úmoduler   r   Úwrapper#   s    zexposed_in.<locals>.wrapperr   )r   r   r   r   r   Ú
exposed_in"   s    r   )
Ú
contextlibr
   Ztorch._C._functorchr   r   r   Úcontextmanagerr   r   r   r   r   r   r   Ú<module>   s   
