a
    Qf'                     @   s$  d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZ 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 dd
lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z%m&Z&m'Z'm(Z( ddl)m*Z* e Z+Z,e Z-Z.eeddZ/G dd deZ0g dZ1e2edddZ3e3e4Z5dS )z
Classes Without Boilerplate
    )partial)Callable   )
converters
exceptionsfilterssetters
validators)	cmp_using)Protocol)get_run_validatorsset_run_validators)asdictassocastupleevolvehasresolve_types)
NOTHING	Attribute	ConverterFactoryattribattrsfieldsfields_dict
make_classvalidate)definefieldfrozenmutable)VersionInfoT)Zauto_attribsc                   @   s   e Zd ZdS )AttrsInstanceN)__name__
__module____qualname__ r'   r'   F/var/www/ai-form-bot/venv/lib/python3.9/site-packages/attr/__init__.pyr#   $   s   r#   )!r   r#   r   r   r   r   r   r   attrr   
attributesr   r
   r   r   r   r   r   r   r   r   r    r   r   ibr   r!   r   sr   r   r   r	   )mod_namereturnc                    s   t t d fdd}|S )zp
    Create a metadata proxy for packaging information that uses *mod_name* in
    its warnings and errors.
    )namer.   c                    sv   | dvr d  d|  }t |zddlm} W n tyN   ddlm} Y n0 |d}| dkrnt|d S |d S )	N)__version____version_info__zmodule z has no attribute r   )metadatar   r1   version)AttributeErrorimportlib.metadatar2   ImportErrorZimportlib_metadatar"   Z_from_version_string)r/   msgr2   metar-   r'   r(   __getattr__S   s    z"_make_getattr.<locals>.__getattr__)str)r-   r:   r'   r9   r(   _make_getattrM   s    r<   N)6__doc__	functoolsr   typingr    r   r   r   r   r	   _cmpr
   Z_compatr   _configr   r   Z_funcsr   r   r   r   r   r   _maker   r   r   r   r   r   r   r   r   r   Z	_next_genr   r   r    r!   Z_version_infor"   r,   r*   r+   r)   	dataclassr#   __all__r;   r<   r$   r:   r'   r'   r'   r(   <module>   s"    0%