o
    >Di                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ dd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd Zdd Zdd ZG dd dZdS )    )	Awaitable)CO_ITERABLE_COROUTINE)CoroutineType)GeneratorTypec                    s   | I d H S N objr   r   P/var/www/Datamplify/venv/lib/python3.10/site-packages/lazy_object_proxy/utils.pydo_await      
r   c                 c   s    | E d H S r   r   )genr   r   r
   do_yield_from   r   r   c                 C   sF   t | }|tu s|tu rt| jjt@ st| trt	| 
 S t| S r   )typer   r   boolgi_codeco_flagsr   
isinstancer   r   	__await__r   )r	   obj_typer   r   r
   await_   s   r   c                 C   
   | j  S r   )__wrapped__	__aiter__selfr   r   r
   r         
r   c                    s   | j  I d H S r   )r   	__anext__r   r   r   r
   r      s   r   c                 C   s
   t | jS r   )r   r   r   r   r   r
   r   #   r   r   c                 C   r   r   )r   
__aenter__r   r   r   r
   r   '   r   r   c                 O   s   | j j|i |S r   )r   	__aexit__)r   argskwargsr   r   r
   r   +   s   r   c                 C   s   | S r   r   r   r   r   r
   identity/   s   r"   c                   @   s   e Zd Zdd Zdd ZdS )cached_propertyc                 C   s
   || _ d S r   )func)r   r$   r   r   r
   __init__4   r   zcached_property.__init__c                 C   s(   |d u r| S |  | }|j| j j< |S r   )r$   __dict____name__)r   r	   clsvaluer   r   r
   __get__7   s   zcached_property.__get__N)r'   
__module____qualname__r%   r*   r   r   r   r
   r#   3   s    r#   N)collections.abcr   inspectr   typesr   r   r   r   r   r   r   r   r   r   r"   r#   r   r   r   r
   <module>   s    