a
    y{Jh4
                     @  s   d dl mZ d dlZd dlmZmZ d dlmZm	Z	 ddl
mZ ddlmZ esTeZdZG d	d
 d
eZe	dedG dd dedZG dd deZe	dedG dd dedZdS )    )annotationsN)TYPE_CHECKINGAny)Literal
deprecated   )_config)PydanticDeprecatedSince20)
BaseConfigExtrac                   @  s   e Zd ZdddddZdS )_ConfigMetaclassstrr   itemreturnc              
   C  s\   t tjt ztj| W S  tyV } z$td| j d| |W Y d }~n
d }~0 0 d S )Nztype object 'z' has no attribute )	warningswarnr   DEPRECATION_MESSAGEDeprecationWarningZconfig_defaultsKeyErrorAttributeError__name__selfr   exc r   L/var/www/shaz/venv/lib/python3.9/site-packages/pydantic/deprecated/config.py__getattr__   s
    z_ConfigMetaclass.__getattr__N)r   
__module____qualname__r   r   r   r   r   r      s   r   z@BaseConfig is deprecated. Use the `pydantic.ConfigDict` instead.)categoryc                      s<   e Zd ZdZddd fddZddd fd	d
Z  ZS )r
   zThis class is only retained for backwards compatibility.

    !!! Warning "Deprecated"
        BaseConfig is deprecated. Use the [`pydantic.ConfigDict`][pydantic.ConfigDict] instead.
    r   r   r   c                   s   t tjt zt |W S  ty~ } zJztt	| |W W  Y d }~S  tyh   tt
||Y n0 W Y d }~n
d }~0 0 d S N)r   r   r   r   r   super__getattribute__r   getattrtyper   r   	__class__r   r   r   %   s    zBaseConfig.__getattr__None)kwargsr   c                   s    t tjt t jf i |S r!   )r   r   r   r   r   r"   __init_subclass__)clsr)   r&   r   r   r*   0   s    zBaseConfig.__init_subclass__)r   r   r   __doc__r   r*   __classcell__r   r   r&   r   r
      s   r
   )	metaclassc                      s$   e Zd Zddd fddZ  ZS )
_ExtraMetar   r   )_ExtraMeta__namer   c                   s$   |dv rt jdtdd t |S )N>   allowforbidignorezX`pydantic.config.Extra` is deprecated, use literal values instead (e.g. `extra='allow'`)r   )
stacklevel)r   r   r   r"   r#   )r   r0   r&   r   r   r#   6   s    z_ExtraMeta.__getattribute__)r   r   r   r#   r-   r   r   r&   r   r/   5   s   r/   zFExtra is deprecated. Use literal values instead (e.g. `extra='allow'`)c                   @  s2   e Zd ZU dZded< dZded< dZded< dS )r   r1   zLiteral['allow']r3   zLiteral['ignore']r2   zLiteral['forbid']N)r   r   r   r1   __annotations__r3   r2   r   r   r   r   r   A   s   
r   )
__future__r   Z_annotationsr   typingr   r   typing_extensionsr   r   	_internalr   r	   r   __all__r%   r   r
   r/   r   r   r   r   r   <module>   s    

