o
    'Yg                     @  s  U d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
Z
ddlmZmZmZ ejr^ddlmZ dd	lmZmZ eeeef Zeje	eef ddf Zejd
ddZdZded< ejZ							d5d6ddZ 		d7d8d'd(Z!ej"d9d-d.Z#	d:d;d3d4Z$dS )<    )annotationsN)deepcopy)Enum)AnyTuple   )_model_construction_typing_extra_utils	BaseModel)AbstractSetIntStrMappingIntStrAnyModelr   )boundz<set[int] | set[str] | dict[int, Any] | dict[str, Any] | Noneztyping_extensions.TypeAliasIncExFselfto_dictboolby_aliasinclude+AbstractSetIntStr | MappingIntStrAny | Noneexcludeexclude_unsetexclude_defaultsexclude_nonereturnTupleGeneratorc                 c  s   |d urt jdd | j D |}|d ur't jjdd | jD |dd}t| |||d}|d u rR|sR|sR|sR|sR|sR| j E d H  | jrP| j E d H  d S |d ur\t | |nd }	|d urht | |nd }
| jd u ru| j }nt| j t| j  }|D ]f\}}|d ur||vs|r|d u rq|rz| j| }W n	 t	y   Y nw |
 s|j|krq|r|| jv r| j| jp|}n|}|s|
s|	rtt| ||||
o|
||	o|	||||d	}||fV  qd S )Nc                 S  s"   i | ]\}}|j d ur||j qS N)r   .0kv r#   g/var/www/html/status_management/venv/lib/python3.10/site-packages/pydantic/deprecated/copy_internals.py
<dictcomp>+   s   " z_iter.<locals>.<dictcomp>c                 S  s   i | ]}|d qS )Tr#   )r    r!   r#   r#   r$   r%   /   s    T)	intersect)r   r   r   )r   r   r   r   r   r   r   )r
   
ValueItemsmerge__pydantic_fields__items_calculate_keys__dict____pydantic_extra__listKeyErroris_requireddefaultalias
_get_valuetypefor_element)r   r   r   r   r   r   r   r   allowed_keysvalue_excludevalue_includer*   	field_keyr"   fielddict_keyr#   r#   r$   _iter   s\   
r<   valuesdict[str, Any]
fields_setset[str]extradict[str, Any] | Noneprivatedeepc                C  s`   |rt |}t |}t |}| j}||}t|d| t|d| t|d| t|d| |S )Nr,   r-   __pydantic_fields_set____pydantic_private__)r   	__class____new___object_setattr)r   r=   r?   rA   rC   rD   clsmr#   r#   r$   _copy_and_set_valuesb   s   	
rL   rJ   type[BaseModel]r"   r   c	                   s  ddl m}	 t||	rr|j ||dS |j||dS |r't||nd |r1t||nd t|trJ fdd| D S t	|rq fddt
|D }
t|jrl|j|
 S ||
S t|trtjd	d
r|jS |S )Nr   r   )r   r   r   r   r   r   )r   r   c                   s\   i | ]*\}}r |sr|r|t| o"|o(|d 	qS )r   r   r   r   r   r   r   is_excludedis_includedr3   r5   )r    k_v_r   rJ   r   r   r   r   r7   r8   r#   r$   r%      s,    z_get_value.<locals>.<dictcomp>c                 3  s^    | ]*\}}r |sr|rt| o!|o'|d 	V  qdS )rN   NrO   )r    irS   rT   r#   r$   	<genexpr>   s.    
z_get_value.<locals>.<genexpr>use_enum_valuesF) r   
isinstance
model_dumpcopyr
   r'   dictr*   sequence_like	enumerater	   is_namedtuplerG   r   getattrmodel_configvalue)rJ   r"   r   r   r   r   r   r   r   r   seq_argsr#   rT   r$   r3   {   s4   
	

 r3   MappingIntStrAny | Noneupdatetyping.Dict[str, Any] | Nonetyping.AbstractSet[str] | Nonec                 C  s   |d u r|d u r|du rd S |r| j  }nt| j }|| jp"i  B }|d ur0|| M }|r8|| 8 }|rE|dd | D 8 }|S )NFc                 S  s    h | ]\}}t j|r|qS r#   )r
   r'   is_truer   r#   r#   r$   	<setcomp>   s     z"_calculate_keys.<locals>.<setcomp>)rE   r[   setr,   keysr-   r*   )r   r   r   r   re   rk   r#   r#   r$   r+      s   r+   )FFNNFFF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )NN)r   r   r=   r>   r?   r@   rA   rB   rC   rB   rD   r   r   r   )rJ   rM   r"   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   rd   r   rd   r   r   re   rf   r   rg   )%
__future__r   _annotationstypingr[   r   enumr   r   r   typing_extensions	_internalr   r	   r
   TYPE_CHECKINGrX   r   _internal._utilsr   r   classmethodAnyClassMethod	Generatorstrr   TypeVarr   r   __annotations__object_setattrrI   r<   rL   no_type_checkr3   r+   r#   r#   r#   r$   <module>   s<    IO