o
    `۷i                     @   sl  U d dl mZ d dlZzd dlZdZW n ey    dZdZY nw er0eedr0ej	ej
jndZee ed< esYdZdZdZdZdZdZdZdZdZdZdZdZdZdd ZnWeedrkej	ej
ej	d	k rdZd d
lmZmZmZmZmZmZmZmZmZmZmZmZ dd Zn"dZd d
lmZmZmZmZmZmZmZmZmZmZmZmZ dd Zdd ZdS )    )OptionalNTF__version__PYDANTIC_MAJOR_VERSIONc                 C   s   dS )NF objr   r   Q/home/ubuntu/vllm_env/lib/python3.10/site-packages/ray/_common/pydantic_compat.py<lambda>%   s    r	   z2.0)	BaseModelExtraFieldNonNegativeFloatNonNegativeIntPositiveFloatPositiveIntPrivateAttr	StrictIntValidationErrorroot_validator	validatorc                 C   s
   t | tS )N)
issubclassr
   r   r   r   r   is_subclass_of_base_model<   s   
r   c                 C   s,   ddl m} ddlm} t| |pt| |S )Nr   )r
   )pydanticr
   pydantic.v1r   )r   BaseModelV2BaseModelV1r   r   r   r   P   s   c                    sF   t sd S trddlm  nddlm  | j dd  fddd d S )Nr   
ModelFieldc              
   S   s*   | j | j| j| j| j| j| j| j| jd	S )N)	nametype_class_validatorsmodel_configdefaultdefault_factoryrequiredalias
field_info)	r   outer_type_r    r!   r"   r#   r$   r%   r&   )or   r   r   r	   e   s   z/register_pydantic_serializers.<locals>.<lambda>c                    s    di | S )Nr   r   )kwargsr   r   r   r	   s   s    )custom_serializercustom_deserializer)PYDANTIC_INSTALLEDIS_PYDANTIC_2pydantic.v1.fieldsr   pydantic.fields _register_cloudpickle_serializer)serialization_contextr   r   r   register_pydantic_serializersW   s   

r2   )typingr   packaging.version	packagingr   r,   ImportErrorhasattrversionparser   majorr   int__annotations__r-   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r2   r   r   r   r   <module>   sT   

8
8