HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/fastapi/__pycache__/_compat.cpython-310.pyc
o

�h�]�@s�	UddlmZddlmZddlmZmZddlmZddlm	Z	ddl
mZmZm
Z
mZmZmZmZmZmZmZmZmZddlmZddlmZmZmZdd	lmZmZdd
l m!Z"ddl#m$Z$ddl%m&Z&m'Z'm(Z(m)Z)e*d
d�e"�+d�dd�D��Z,e,ddkZ-ee.ee.e.e.ee*e*e*ee/e/e/ee0e0e0e
eeeiZ1e*e1�2��Z3eee4d<e-�r=ddlm5Z5ddlm6Z6ddlm7Z7ddl8m9Z9ddl:m;Z;ddl<m=Z=ddl>m?Z?ddl@mAZAddl@mBZBddlCmDZDddlCmEZEmFZFddlCmGZGzddlHmIZIWneJ�ydd lHmKZIYnweEZLeEZMeFZNe;ZOeZPGd!d"�d"�ZQGd#d$�d$eR�ZSeGd%d&�d&��ZTd'ed(e?d)eUd*efd+d,�ZVd-eed*eeeUeffd.d/�ZWd0eed*dfd1d2�ZX	3d�d0ed4e'd5d6ed*efd7d8�ZYd0ed*efd9d:�ZZd;d<�d=eTd>eAd?ed@eeeTe'dAfeBfdBe[d*eeUeffdCdD�Z\dEeeTd*efdFdG�Z]d;d<�dEeeTd>eAd?edBe[d*eeeeTe'dAfeBfeeUeeUeffff
dHdI�Z^d=eTd*e[fdJdK�Z_d=eTd*e[fdLdM�Z`d=eTd*e[fdNdO�Zad=eTd*e[fdPdQ�Zbd=eTd*e[fdRdS�Zcd(e?d'ed*e?fdTdU�Zdd=eTdVed*eefdWdX�ZedYeeUdZfd*eeUeffd[d\�ZfdEeeTd]eUd*eefd^d_�Zgd0eed*eeTfd`da�Zh�n�ddblimjZjddclmkZGdddlmQZQddlm7Z7ddellmPZPddflmmSZSddglnmoZoddhl>mpZpmqZqmrZrmsZsmtZtmuZumvZvddl>m?Z?ddil>mTZTewZLee4dj<ddkl>mMZMddll>mNZNddmlxmyZymzZzm{Z{m|Z|ddnlxmVZVddol}mOZOddl~m=Z=eZ9eeUefZBeZDeqesepeuerevhZeqe.ese/eue*ere.eve.iZ�eGdpdq�dq��ZAGdrds�dseR�Z5ddddt�duedZefdveeUdfdwedxed*ef
dydz�ZId{eeeeeefd?eeeeeefeUfd*eeUeffd|d}�Z�d=eTd*e[fd~d�Z�d=eTd*e[fd�d��Z�d-eed*eeeUeffd�d/�ZWd0eed*dfd�d2�ZX	3d�d0ed4e'd5d6ed*efd�d8�ZYd0ed*efd�d:�ZZd;d<�d=eTd>eAd?ed@eeeTe'dAfeBfdBe[d*eeUeffd�dD�Z\dEeeTd*efd�dG�Z]d;d<�dEeeTd>eAd?edBe[d*eeeeTe'dAfeBfeeUeeUeffff
d�dI�Z^d=eTd*e[fd�dK�Z_d=eTd*e[fd�dM�Z`d=eTd*e[fd�dO�Zad=eTd*e[fd�dQ�Zbd=eTd*e[fd�dS�Zcd(e?d'ed*e?fd�dU�Zdd=eTdVed*eefd�dX�ZedYeeUdZfd*eeUeffd�d\�ZfdEeeTd]eUd*eefd�d_�Zgd0eed*eeTfd�da�Zhd-eed�eeeUe�fdZfd*eeeUeffd�d��Z�d'eeedfd*e[fd�d��Z�d'eeedfd*e[fd�d��Z�dVed*e[fd�d��Z�d'eeedfd*e[fd�d��Z�d'eeedfd*e[fd�d��Z�d'ed*e[fd�d��Z�d'eeedfd*e[fd�d��Z�d'ed*e[fd�d��Z�d'ed*e[fd�d��Z�d'ed*e[fd�d��Z�d'ed*e[fd�d��Z�e	d0eed*eeTfd�d���Z�dS)��)�deque��copy)�	dataclass�is_dataclass)�Enum)�	lru_cache)�Any�Callable�Deque�Dict�	FrozenSet�List�Mapping�Sequence�Set�Tuple�Type�Union)�RequestErrorModel)�IncEx�ModelNameMap�	UnionType)�	BaseModel�create_model)�VERSION)�
UploadFile)�	Annotated�Literal�get_args�
get_origincc��|]}t|�VqdS�N)�int)�.0�x�r&�B/usr/local/CyberCP/lib/python3.10/site-packages/fastapi/_compat.py�	<genexpr>��r(�.N��Url)�PydanticSchemaGenerationError)�TypeAdapter)�ValidationError)�GetJsonSchemaHandler)�eval_type_lenient)�lenient_issubclass)�	FieldInfo)�GenerateJsonSchema)�JsonSchemaValue)�
CoreSchema)�PydanticUndefined�PydanticUndefinedType)r,)�"with_info_plain_validator_function)� general_plain_validator_functionc@�eZdZdS)�
BaseConfigN��__name__�
__module__�__qualname__r&r&r&r'r<Q�r<c@r;)�ErrorWrapperNr=r&r&r&r'rBTrArBc@sHeZdZUeed<eed<dZeded<edefdd��Z	ede
fd	d
��Zedefdd��Z
edefd
d��Zd+dd�Zdefdd�Zifdd�dedeeefdeeeefdfdeeeeeeefdfffdd�Zdddddddd�deded d!eedfd"eedfd#e
d$e
d%e
d&e
defd'd(�Zdefd)d*�ZdS),�
ModelField�
field_info�name�
validation�rF�
serialization�mode�returncCs|jj}|dur
|S|jSr")rD�aliasrE)�self�ar&r&r'rK]szModelField.aliascCs
|j��Sr")rD�is_required�rLr&r&r'�requiredbs
zModelField.requiredcCs|��Sr")�get_defaultrOr&r&r'�defaultf�zModelField.defaultcCs|jjSr"�rD�
annotationrOr&r&r'�type_jrSzModelField.type_NcCstt|jj|jf�|_dSr")r.rrDrU�
_type_adapterrOr&r&r'�
__post_init__ns
�zModelField.__post_init__cCs|j��rtS|jjdd�S)NT)�call_default_factory)rDrN�	UndefinedrQrOr&r&r'rQss
zModelField.get_defaultr&��loc�value�valuesr\.c
CsTz|jj|dd�dfWSty)}zdt|jdd�|d�fWYd}~Sd}~ww)NT)�from_attributesF��include_url)�errors�
loc_prefix)rW�validate_pythonr/�_regenerate_error_with_locrb)rLr]r^r\�excr&r&r'�validatexs����zModelField.validate�jsonTF�rI�include�exclude�by_alias�
exclude_unset�exclude_defaults�exclude_none�rh�pythonrjrkrlrmrnroc	
Cs|jj||||||||d�S)Nri)rW�dump_python)	rLr]rIrjrkrlrmrnror&r&r'�	serialize�s�zModelField.serializecC�t|�Sr")�idrOr&r&r'�__hash__�szModelField.__hash__)rJN)r>r?r@r3�__annotations__�strrIr�propertyrK�boolrPr	rRrVrXrQrrrr#rrgrrsrvr&r&r&r'rCWsj

���
��
����
�
���	�
�
�rCrUrD�
field_namerJcC�|Sr"r&)rUrDr{r&r&r'�get_annotation_from_field_info�sr}rbcCr|r"r&)rbr&r&r'�_normalize_errors��r~�modelcC�|��dSr")�
model_rebuild�r�r&r&r'�_model_rebuild��r�rhrIrp�kwargscKs|jdd|i|��S)NrIr&)�
model_dump�r�rIr�r&r&r'�_model_dump�sr�cC�|jSr")�model_configr�r&r&r'�_get_model_config��r�T)�separate_input_output_schemas�field�schema_generator�model_name_map�
field_mappingrGr�cCsH|rdnd}|||p|jf}d|vr"|jjp|j���dd�|d<|S)NrFz$ref�_� �title)rIrDr�rK�replace)r�r�r�r�r��
override_mode�json_schemar&r&r'�get_schema_from_model_field�s
��r��fieldscC�iSr"r&)r�r&r&r'�get_compat_model_name_map�rr�cs6|rdnd��fdd�|D�}|j|d�\}}||fS)NrFcs g|]}|�p	|j|jjf�qSr&)rIrW�core_schema)r$r��r�r&r'�
<listcomp>�s��z#get_definitions.<locals>.<listcomp>)�inputs)�generate_definitions)r�r�r�r�r�r��definitionsr&r�r'�get_definitions�s

�
�
�r�cCs(ddlm}t|jj�ot|j|j�S)Nr��params)�fastapir��field_annotation_is_scalarrDrU�
isinstance�Body)r�r�r&r&r'�is_scalar_field�s��r�cC�t|jj�Sr")�field_annotation_is_sequencerDrU�r�r&r&r'�is_sequence_field�r�r�cCr�r")�#field_annotation_is_scalar_sequencerDrUr�r&r&r'�is_scalar_sequence_field�r�r�cC�
t|j�Sr")�$is_bytes_or_nonable_bytes_annotationrVr�r&r&r'�is_bytes_field��
r�cCr�r")�is_bytes_sequence_annotationrVr�r&r&r'�is_bytes_sequence_field�r�r�cCs.t|�}|�|�}t|�}|j|_|j|_|Sr")�type�from_annotationr�metadatarU)rDrU�cls�merged_field_info�new_field_infor&r&r'�copy_field_info�s
r�r]cCs.t|jj�p	|jj}t|t�sJ�t||�Sr")r rDrU�
issubclass�sequence_types�sequence_annotation_to_type)r�r]�origin_typer&r&r'�serialize_sequence_values�r�r\.cCs.t�dd|id�g�jdd�d}d|d<|S)NzField required�missing)r�r\�inputFr`rr�)r/�from_exception_datarb)r\�errorr&r&r'�get_missing_field_errors���r��
model_namecCs"dd�|D�}t|fi|��}|S)NcSsi|]}|j|jj|jf�qSr&)rErDrU�r$�fr&r&r'�
<dictcomp>sz%create_body_model.<locals>.<dictcomp>)r)r�r��field_params�	BodyModelr&r&r'�create_body_modelsr�cCsdd�|j��D�S)NcSsg|]
\}}t||d��qS))rDrE�rC)r$rErDr&r&r'r�s
��z$get_model_fields.<locals>.<listcomp>)�model_fields�itemsr�r&r&r'�get_model_fieldss�r�)�
REF_PREFIX)�AnyUrl)r<)�	Validator)rB)�MissingError)�SHAPE_FROZENSET�
SHAPE_LIST�SHAPE_SEQUENCE�	SHAPE_SET�SHAPE_SINGLETON�SHAPE_TUPLE�SHAPE_TUPLE_ELLIPSISr��
RequiredParam)rZ)�
UndefinedType)�field_schema�get_flat_models_from_fields�get_model_name_map�model_process_schema)r})�evaluate_forwardrefc@seZdZUeed<dS)r4�ref_templateN)r>r?r@rxrwr&r&r&r'r4ks
r4c@r;)r-Nr=r&r&r&r'r-orAr-)�refr�rH�functionr�r�rHcCr�r"r&)r�r�r�rHr&r&r'r9rsr9�flat_modelscCs^i}|D](}t||td�\}}}|�|�||}d|vr(|d�d�d|d<|||<q|S)N�r��
ref_prefix�description�r)r�r��update�split)r�r�r�r��m_schema�
m_definitions�m_nested_modelsr�r&r&r'�get_model_definitions{s�

r�cCszddlm}|j}|jtkr*t|jt�s*t|jt�s*t	|j�s*t
|j�s*t||j�r,dS|j
r;tdd�|j
D��s;dSdS)Nrr�Fcsr!r"��is_pv1_scalar_fieldr�r&r&r'r(��
��
�z&is_pv1_scalar_field.<locals>.<genexpr>T)r�r�rD�shaper�r2rVr�dictr�rr�r��
sub_fields�all)r�r�rDr&r&r'r��s(

�
���
��r�cCsP|jtvrt|jt�s|jdur|jD]	}t|�sdSqdSt|j�r&dSdS)NFT)r��sequence_shapesr2rVrr�r��_annotation_is_sequence)r��	sub_fieldr&r&r'�is_pv1_scalar_sequence_field�s�

�
r�cCs^g}|D](}t|t�rt|gtd���}|�|�qt|t�r'|�t|��q|�|�q|S)N)rbr�)	r�rBr/rrb�extend�listr~�append)rb�
use_errorsr��
new_errorsr&r&r'r~�s
��
cCr�r")�update_forward_refsr�r&r&r'r��r�cKs|jdi|��S)Nr&)r�r�r&r&r'r��scCr�r")�
__config__r�r&r&r'r��r�cCst||td�dS)Nr�r)r�r�)r�r�r�r�r�r&r&r'r��s
��cCst|t�d�}t|�S)N��known_models)r��setr�)r��modelsr&r&r'r��scCst|t�d�}it||d�fS)Nr)r�r�)r�rr�)r�r�r�r�rr&r&r'r��s�cCrtr"r�r�r&r&r'r���cCs|jtvp	t|j�Sr")r�r�r�rVr�r&r&r'r��scCrtr")r�r�r&r&r'r��r	cCst|jt�Sr")r2rV�bytesr�r&r&r'r��r�cCs|jtvo
t|jt�Sr")r�r�r2rVr
r�r&r&r'r��scCrtr"rrTr&r&r'r��r	cCst|j|�Sr")�sequence_shape_to_typer�)r�r]r&r&r'r���cCs&tt�|d�}t|gt�}|��dS)Nr[r)rBr�r/rrb)r\�missing_field_error�	new_errorr&r&r'r�scCs"t|�}|D]}||j|j<q|Sr")r�
__fields__rE)r�r�r�r�r&r&r'r�scCst|j���Sr")r�rr^r�r&r&r'r�
rrccs�fdd�t|�D�}|S)Nc	s(g|]}i|�d�|�dd�i��qS)r\r&)�get)r$�err�rcr&r'r�s��z._regenerate_error_with_loc.<locals>.<listcomp>)r~)rbrc�updated_loc_errorsr&rr'res
�recCst|ttf�r	dSt|t�S)NF)r2rxr
r��rUr&r&r'r�s
r�cCsLt|�}|tus|turt|�D]	}t|�rdSqdSt|�p%tt|��S�NTF)r rrrr�r��rU�origin�argr&r&r'r�"s�
�r�cCst|t�ot|ttf�Sr")r�r�rxr
)r]r&r&r'�value_is_sequence.srcCs t|tttf�pt|�pt|�Sr")r2rrrr�rrr&r&r'�_annotation_is_complex2s
��rcCsRt|�}|tus|turtdd�t|�D��St|�p(t|�p(t|d�p(t|d�S)Ncsr!r")�field_annotation_is_complex)r$rr&r&r'r(=r)z.field_annotation_is_complex.<locals>.<genexpr>�__pydantic_core_schema__�__get_pydantic_core_schema__)r rr�anyrr�hasattr)rUrr&r&r'r:s���rcCs|tupt|�Sr")�Ellipsisrrr&r&r'r�Gsr�cCsht|�}|tus|tur%d}t|�D]}t|�rd}qt|�s"dSq|St|�o3tdd�t|�D��S)NFTcsr!r")r��r$�sub_annotationr&r&r'r(Wr�z6field_annotation_is_scalar_sequence.<locals>.<genexpr>)r rrrr�r�r�r�)rUr�at_least_one_scalar_sequencerr&r&r'r�Ls��r�cC�Ht|t�rdSt|�}|tus|tur"t|�D]
}t|t�r!dSqdSr)r2r
r rrrrr&r&r'r�]�

�r�cCr$r)r2rr rrrrr&r&r'�.is_uploadfile_or_nonable_uploadfile_annotationhr%r&cC�Zt|�}|tus|turd}t|�D]	}t|�rd}qq|St|�o,tdd�t|�D��S)NFTcsr!r")r�r!r&r&r'r(|r�z/is_bytes_sequence_annotation.<locals>.<genexpr>)r rrrr�r�r��rUr�at_least_onerr&r&r'r�s���r�cCr')NFTcsr!r")r&r!r&r&r'r(�r�z4is_uploadfile_sequence_annotation.<locals>.<genexpr>)r rrr�!is_uploadfile_sequence_annotationr�r�r(r&r&r'r+�r*r+cCrtr")r�r�r&r&r'�get_cached_model_fields�rSr,)rh)��collectionsrr�dataclassesrr�enumr�	functoolsr�typingr	r
rrr
rrrrrrr�fastapi.exceptionsr�
fastapi.typesrrr�pydanticrr�pydantic.versionr�PYDANTIC_VERSION�starlette.datastructuresr�typing_extensionsrrrr �tupler��PYDANTIC_VERSION_MINOR_TUPLE�PYDANTIC_V2r�r�	frozensetr��keysr�rwr-r.r/�,pydantic._internal._schema_generation_sharedr0� pydantic._internal._typing_extrar1�pydantic._internal._utilsr2�pydantic.fieldsr3�pydantic.json_schemar4r5�
pydantic_corer6r7r8r,�pydantic_core.core_schemar9�ImportErrorr:r�rZr�r�r�r<�	ExceptionrBrCrxr}r~r�r�r�rzr�r�r�r�r�r�r�r�r�r�r�r�r��fastapi.openapi.constantsr�r��pydantic.class_validators�pydantic.error_wrappers�pydantic.errorsr�r�r�r�r�r�r�r�r �pydantic.schemar�r�r�r��pydantic.typing�pydantic.utilsr�rr�r�r�r#rer�r�rrrr�r�r�r&r�r+r,r&r&r&r'�<module>s8 ��O���
�"����
��������
	
���������
�"��
�$	�	��
�
���
�	��

�"
����
��������
	
�	��������
�"��
���
�