�
P}<b� �
� � d dl Z d dlZd dlmZ d dlmZ ddlmZ ddlmZ ej d� � Z
d� Zee
eeeee ed� � hZd ej ej d df d
dfd�Z dd�Zd d
d
ej d fd�ZdS )� N)�WRAPPER_ASSIGNMENTS)�wraps� )�_PassArg)�pass_eval_context�Vc � � � � fd�}|S )Nc �� �� ��� t j �� � }|d u �|t j u rdt j dt
fd��ndt j dt
fd��d}t
t t � � � |� � � � }t �|�� � t � |d�� � � ���fd �� � � � }�rt |� � }d
|_ |S )N�args�returnc �L � t j t | d j � � S �Nr )�t�cast�bool�is_async�r s �4/usr/lib/python3/dist-packages/jinja2/async_utils.pyr z2async_variant.<locals>.decorator.<locals>.is_async s � ��v�d�D��G�$4�5�5�5� c �V � t j t | d j j � � S r )r r r �environmentr r s r r z2async_variant.<locals>.decorator.<locals>.is_async s � ��v�d�D��G�$7�$@�A�A�Ar )�
__module__�__name__�__qualname__)�assigned� )r �updatedc �V �� �| � � }�r
| dd � } |r �| i |��S �| i |��S )Nr r )r �kwargs�b�
async_funcr �need_eval_context�normal_funcs ����r �wrapperz1async_variant.<locals>.decorator.<locals>.wrapper" |