
    E2iC                     4   d dl Z d dlZd dlmZmZ d dlmZ d dlmZ d dl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 d dlmZ d dlmZmZmZ d d	lmZmZmZ d d
lmZ d dlm Z  d dlm!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+ d dl*m,Z, d dl-m.Z. d dl-m/Z/m0Z0 d dl-m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6 	 d dl7m8Z8 n# e9$ r	 d dl7m:Z8 Y nw xY we/Z;e/Z<e0Z=e%Z>e	Z? G d d          Z@ G d deA          ZBe G d d                      ZCde	d e)d!eDd"e	fd#ZEd$ee         d"dfd%ZF	 dTd$ed'e4d(         d)e	d"e	fd*ZGd$ed"e	fd+ZHd,d-d.eCd/ed0e
eeCe4d1         f         e,f         d2eId"e
eDe	f         f
d3ZJd,d-d4eeC         d/ed2eId"ee
eeCe4d1         f         e,f         e
eDe
eDe	f         f         f         fd5ZKd6e
eDe	f         d7e
eDeDf         d"e
eDe	f         fd8ZLd/ed9e
eDe	f         d0e
eeCe4d1         f         e,f         d"ee
eeCe4d1         f         e,f         e
eDe	f         f         fd:ZMd.eCd"eIfd;ZNd.eCd"eIfd<ZOd.eCd"eIfd=ZPd.eCd"eIfd>ZQd.eCd"eIfd?ZRd e)de	d"e)fd@ZSd.eCdAe	d"ee	         fdBZTdCeeDdDf         d"e
eDe	f         fdEZUd4eeC         dFeDd"ee         fdGZVd$ee         d"eeC         fdHZWeedI         ee         f         ZXeeX         ZYdJeDd"eDfdKZZdLeYd"e
eXeDf         fdMZ[	 dUd$edI         dNeeYdf         d"eYfdOZ\de	dNeYd"eYfdPZ]d.eCdNeYd"eYfdQZ^d4eeC         dNeYd"eYfdRZ_d$eXd"eDfdSZ`dS )V    N)copydeepcopy)	dataclass)Enum)	AnyDictListSequenceSetTupleTypeUnioncast)may_v1shared)REF_TEMPLATE)IncExModelNameMap	UnionType)	BaseModelTypeAdaptercreate_model)PydanticSchemaGenerationError)PydanticUndefinedAnnotation)ValidationError)GetJsonSchemaHandler)eval_type_lenient)lenient_issubclass)	FieldInfo)GenerateJsonSchema)JsonSchemaValue)
CoreSchema)PydanticUndefinedPydanticUndefinedType)Url)	AnnotatedLiteralget_args
get_origin)"with_info_plain_validator_function) general_plain_validator_functionc                       e Zd ZdS )
BaseConfigN__name__
__module____qualname__     Q/var/www/html/pixcura-vrs/venv/lib/python3.11/site-packages/fastapi/_compat/v2.pyr-   r-   6           Dr3   r-   c                       e Zd ZdS )ErrorWrapperNr.   r2   r3   r4   r7   r7   :   r5   r3   r7   c                      e Zd ZU eed<   eed<   dZed         ed<   edefd            Z	ede
fd            Zedefd	            Zedefd
            Zd"dZdefdZi fdddedeeef         deeeef         df         deeeeeeef                  df         f         fdZdddddddddeded         deedf         deedf         de
de
de
de
defd Zdefd!ZdS )#
ModelField
field_infoname
validationr<   serializationmodereturnc                 0    | j         j        }||n| j        S N)r:   aliasr;   )selfas     r4   rC   zModelField.aliasD   s    O!Mqqty0r3   c                 4    | j                                         S rB   )r:   is_requiredrD   s    r4   requiredzModelField.requiredI   s    **,,,r3   c                 *    |                                  S rB   )get_defaultrH   s    r4   defaultzModelField.defaultM   s    !!!r3   c                     | j         j        S rB   )r:   
annotationrH   s    r4   type_zModelField.type_Q   s    ))r3   Nc                    t          j                    5  t          j        dk    rddlm} t          j        d|           t          t          | j	        j
        | j	        f                   | _        d d d            d S # 1 swxY w Y   d S )N)      r   ) UnsupportedFieldAttributeWarningignore)category)warningscatch_warningsr   PYDANTIC_VERSION_MINOR_TUPLEpydantic.warningsrS   simplefilterr   r&   r:   rN   _type_adapter)rD   rS   s     r4   __post_init__zModelField.__post_init__U   s    $&& 	 	
 2g==NNNNNN%'G    4?$/4doEF4 4D	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AA>>BBc                 x    | j                                         rt          S | j                             d          S )NT)call_default_factory)r:   rG   	UndefinedrK   rH   s    r4   rK   zModelField.get_defaulte   s7    ?&&(( 	***EEEr3   r2   )locvaluevaluesr`   .c                    	 | j                             |d          d fS # t          $ r6}d t          j        |                    d          |          fcY d }~S d }~ww xY w)NT)from_attributesFinclude_url)errors
loc_prefix)r[   validate_pythonr   r   _regenerate_error_with_locrg   )rD   ra   rb   r`   excs        r4   validatezModelField.validatej   s    	"225$2OO   	 	 	:zzez44         	s     
A +AA A jsonTFr?   includeexcludeby_aliasexclude_unsetexclude_defaultsexclude_nonerm   pythonro   rp   rq   rr   rs   rt   c          
      F    | j                             ||||||||          S )Nrn   )r[   dump_python)	rD   ra   r?   ro   rp   rq   rr   rs   rt   s	            r4   	serializezModelField.serialize{   s<     !--'-% . 	
 	
 		
r3   c                      t          |           S rB   )idrH   s    r4   __hash__zModelField.__hash__   s     $xxr3   )r@   N)r/   r0   r1   r   __annotations__strr?   r'   propertyrC   boolrI   r   rL   rO   r\   rK   r   r   r   intr	   rl   r   ry   r|   r2   r3   r4   r9   r9   >   s]        
III3?D'/
0???1s 1 1 1 X1 -$ - - - X- " " " " X" *s * * * X*    FS F F F F "$
 ,.   S#X
 5c?C'( 
sE$tCH~.455	6   * +1&*&*#!&"
 
 

 &'	

 ud{#
 ud{#
 
 
 
 
 

 
 
 
2#      r3   r9   rN   r:   
field_namer@   c                     | S rB   r2   )rN   r:   r   s      r4   get_annotation_from_field_infor      s
     r3   modelc                 .    |                                   d S rB   )model_rebuildr   s    r4   _model_rebuildr      s    	r3   rm   r?   ru   kwargsc                       | j         dd|i|S )Nr?   r2   )
model_dump)r   r?   r   s      r4   _model_dumpr      s"     5000000r3   c                     | j         S rB   )model_configr   s    r4   _get_model_configr      s    r3   T)separate_input_output_schemasfieldmodel_name_mapfield_mappingr=   r   c                 B   | j         j                            di                               dg           }|st          |          dk    rd nd}|| |p| j        f         }d|vr<| j        j        p,| j                                                            dd          |d<   |S )	Nschemacomputed_fieldsr   r<   $ref_ title)	r[   core_schemagetlenr?   r:   r   rC   replace)r   r   r   r   r   override_modejson_schemas          r4   get_schema_from_model_fieldr      s     )599(BGGKK2 O
 *	-0-A-AA-E-E 	   (C DEK[    %/5  
9J9J9L9L9T9T:
 :
G r3   fieldsc                 T   t          d | D                       }t          t                    }|s|rd ndd | D             }d | D             }t          |t	                                }t          |t	                                }d |D             }	d |D             }
|	|
z   }d	 | D             fd
|D             }fdt          |           t          |          z   D             }|                    |          \  }}t          t          t          t          t          t          f         f         |                                          D ]?}d|v r9t          t          |d                                       d          d         }||d<   @t          |||          \  }}||fS )Nc              3   ~   K   | ]8}|j         j                            d i                               dg           V  9dS )r   r   N)r[   r   r   .0r   s     r4   	<genexpr>z"get_definitions.<locals>.<genexpr>   s^       $ $ 	'++Hb99==>OQSTT$ $ $ $ $ $r3   )ref_templater<   c                 (    g | ]}|j         d k    |S )r<   r?   r   s     r4   
<listcomp>z#get_definitions.<locals>.<listcomp>   s$    QQQ5ejL6P6P6P6P6Pr3   c                 (    g | ]}|j         d k    |S )r>   r   r   s     r4   r   z#get_definitions.<locals>.<listcomp>   s$    WWWe9V9VE9V9V9Vr3   known_modelsc                 X    g | ]'}t          t          |           |j        d          (S )rN   r<   r:   r;   r?   r9   r   r/   r   r   s     r4   r   z#get_definitions.<locals>.<listcomp>   sO     $ $ $  	 E222	
 	
 	
$ $ $r3   c                 X    g | ]'}t          t          |           |j        d          (S )r   r>   r   r   r   s     r4   r   z#get_definitions.<locals>.<listcomp>   sO     ' ' '  	 E222 	
 	
 	
' ' 'r3   c                     h | ]	}|j         
S r2   rO   r   fs     r4   	<setcomp>z"get_definitions.<locals>.<setcomp>   s    +++q17+++r3   c                 &    h | ]}|j         v|S r2   r   )r   r   input_typess     r4   r   z"get_definitions.<locals>.<setcomp>   s,          {(B(B(B(B(Br3   c                 <    g | ]}|p|j         |j        j        fS r2   )r?   r[   r   )r   r   r   s     r4   r   z#get_definitions.<locals>.<listcomp>   s=        
+U-@-LM  r3   )inputsdescriptionr   )r   definitionsr   )anyr    r   get_flat_models_from_fieldssetlistgenerate_definitionsr   r   r~   r   rb   split%_remap_definitions_and_field_mappings)r   r   r   has_computed_fieldsschema_generatorvalidation_fieldsserialization_fieldsflat_validation_modelsflat_serialization_modelsflat_validation_model_fieldsflat_serialization_model_fieldsflat_model_fieldsunique_flat_model_fieldsr   r   r   item_defitem_descriptionnew_mappingnew_definitionsr   r   s                       @@r4   get_definitionsr      sN    !$ $ $$ $ $ ! !
 *|DDD.X2EXL  RQFQQQWWvWWW8   !<355! ! !$ $ ,$ $ $ ' ' /' ' '# 57VV++F+++K       $        &\\D)A$B$BB  F "2!F!Ff!F!U!UM;c4S>12K@@GGII 7 7H$$#C-)@AAGGMMaP&6H]##H%#$ $ $ K
 ''r3   r   old_name_to_new_name_mapc                 f   t          |           }|                                D ]\  }}|dk    rc| d         }t          |t                    rE| d                             d          d         }||v r ||         }t          j        |          |d<   ot          |t                    rt          ||          ||<   t          |t                    r]g }|D ]S}t          |t                    r't          ||          }	|
                    |	           >|
                    |           T|||<   |S )Nr   /r   r   r   )r   items
isinstancer~   r   r   formatdict_replace_refsr   append)
r   r   
new_schemakeyra   ref_namenew_name	new_valueitemnew_items
             r4   r   r     sj   
 &!!J &&(( ( (
U&==6NE%%% M!&>//44R87777AH)5)<8)L)L)LJv&eT"" 	(+)A  JsOO t$$ 	(I 	+ 	+dD)) +,#1I     H $$X.... $$T****'JsOr3   r   c                    i }|                                 D ]V\  }}|d         j        }|| vsd|vr| |         }|d                             d          d         }|| d| dhv rQ|||<   Wi }	|                                 D ]\  }}t          ||          }
|
|	|<   i }|                                 D ]*\  }}||v r	||         }n|}t          ||          }|||<   +|	|fS )Nr   r   r   r   z-Inputz-Outputr   )r   rO   r   r   )r   r   r   r   	field_keyr   r   r   old_namenew_field_mappingr   r   r   ra   new_keyr   s                   r4   r   r   /  sr     "*0022 6 6	6!"&&&*>*>!%(&>'',,R08+++-A-A-ABBB-5 ** 	  +0022 2 2	6"%=
 
 

 (2)$$O!'')) 	- 	-
U***.s3GGG!%=
 
 
	 $-  o--r3   c                     ddl m} t          j        | j        j                  ot          | j        |j                   S )Nr   )params)fastapir   r   field_annotation_is_scalarr:   rN   r   Body)r   r   s     r4   is_scalar_fieldr   ]  sL    ,#  8)6;77
78r3   c                 >    t          j        | j        j                  S rB   )r   field_annotation_is_sequencer:   rN   r   s    r4   is_sequence_fieldr   e  s    .u/?/JKKKr3   c                 >    t          j        | j        j                  S rB   )r   #field_annotation_is_scalar_sequencer:   rN   r   s    r4   is_scalar_sequence_fieldr   i  s    5e6F6QRRRr3   c                 4    t          j        | j                  S rB   )r   $is_bytes_or_nonable_bytes_annotationrO   r   s    r4   is_bytes_fieldr   m  s    6u{CCCr3   c                 4    t          j        | j                  S rB   )r   is_bytes_sequence_annotationrO   r   s    r4   is_bytes_sequence_fieldr  q  s    .u{;;;r3   c                     t          |           }|                    |          }t          |           }|j        |_        |j        |_        |S rB   )typefrom_annotationr   metadatarN   )r:   rN   clsmerged_field_infonew_field_infos        r4   copy_field_infor	  u  sL    
z

C++J77*%%N/8N 1 <Nr3   ra   c                 ^   t          | j        j                  p| j        j        }|t          u s	|t          u rAt          | j        j                  }|D ]%}|t          d           u rt          |          p|} t          |t          j	                  sJ t          j
        |         |          S rB   )r)   r:   rN   r   r   r(   r  
issubclassr   sequence_typessequence_annotation_to_type)r   ra   origin_type
union_args	union_args        r4   serialize_sequence_valuer  ~  s    U-899XU=M=XKe{i77e.9::
# 	 	IDJJ&&$Y//<9Kk6#899999-k:5AAAr3   r`   .c                 x    t          j        dd| i dg                              d          d         }d |d<   |S )NzField requiredmissing)r  r`   inputFre   r   r  )r   from_exception_datarg   )r`   errors     r4   get_missing_field_errorr    sL    /IcBGGH ff#E E'NLr3   
model_namec                 8    d | D             }t          |fi |}|S )Nc                 @    i | ]}|j         |j        j        |j        fS r2   )r;   r:   rN   r   s     r4   
<dictcomp>z%create_body_model.<locals>.<dictcomp>  s(    TTTAFQ\4alCTTTr3   )r   )r   r  field_params	BodyModels       r4   create_body_modelr    s3     UTVTTTL!-j!I!IL!I!IIr3   c                 H    d | j                                         D             S )Nc                 6    g | ]\  }}t          ||           S ))r:   r;   )r9   )r   r;   r:   s      r4   r   z$get_model_fields.<locals>.<listcomp>  s9       D* 	jt444  r3   )model_fieldsr   r   s    r4   get_model_fieldsr"    s2      % 2 8 8 : :   r3   r   r;   c                 .    t          j        dd|           S )Nz[^a-zA-Z0-9.\-_]r   )resub)r;   s    r4   normalize_namer&    s    6%sD111r3   unique_modelsc                 r   i }t                      }| D ]}t          |j                  }||v rt          |          }|||<   /||v rO|                    |           |                    |          }||t          |          <   ||t          |          <   |||<   d |                                D             S )Nc                     i | ]\  }}||	S r2   r2   )r   kvs      r4   r  z&get_model_name_map.<locals>.<dictcomp>  s    444TQAq444r3   )r   r&  r/   get_long_model_nameaddpopr   )r'  name_model_mapconflicting_namesr   r  conflicting_models         r4   get_model_name_mapr2    s    N"%%% / /#EN33
***,U33J).N:&&>))!!*--- . 2 2: > >EVN./@AAB9>N.u5566).N:&&44^11334444r3   r   c                 f    |pt                      }t          |           }t          ||           |S Nr   )r   r"  r   )r   r   r   s      r4   get_flat_models_from_modelr5    s8      (355Le$$F\BBBBr3   c                 &   t          |           }|t          |           D ]o}t          |t          t          f          r@||vr<|                    |           t          |t                    rt          ||           ^t          ||           p|S r4  )r)   r(   r   r   r   r-  r5  get_flat_models_from_annotation)rN   r   originargs       r4   r7  r7    s     
##FJ'' 	P 	PC!#	4'899 Pc>U>U  %%%%c955 O.sNNNN/,OOOOOr3   c                    | j         }t          |t                    r-||v r|S |                    |           t	          ||           n<t          |t
                    r|                    |           nt          ||           |S r4  )rO   r   r   r-  r5  r   r7  )r   r   
field_types      r4   get_flat_models_from_fieldr<    s     J*i00 O%%$$$":LIIIII	J	-	- O$$$$'
NNNNr3   c                 2    | D ]}t          ||           |S r4  )r<  )r   r   r   s      r4   r   r     s1      E E"5|DDDDDr3   c                 L    | j          d| j                             dd          S )N__.)r0   r1   r   r   s    r4   r,  r,    s,    66%"466>>sDIIIr3   )rm   rB   )ar$  rV   r   r   dataclassesr   enumr   typingr   r   r	   r
   r   r   r   r   r   fastapi._compatr   r   fastapi.openapi.constantsr   fastapi.typesr   r   r   pydanticr   r   r   r   r   r   ,pydantic._internal._schema_generation_sharedr    pydantic._internal._typing_extrar   pydantic._internal._utilsr   pydantic.fieldsr   pydantic.json_schemar    r!   pydantic_corer"   r#   r$   r%   typing_extensionsr&   r'   r(   r)   pydantic_core.core_schemar*   ImportErrorr+   RequiredParamr_   UndefinedTypeevaluate_forwardref	Validatorr-   	Exceptionr7   r9   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r"  TypeModelOrEnumTypeModelSetr&  r2  r5  r7  r<  r   r,  r2   r3   r4   <module>rX     s	   				          ! ! ! ! ! !      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 + * * * * * * * 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 S S S S S S O O O O O O 7 7 7 7 7 7      ? > > > > > N N N N N N 2 2 2 2 2 2 I I I I I I C C C C C C 2 2 2 2 2 2 B B B B B B B B $ $ $ $ $ $ F F F F F F F F F F F F                 
 "	%' 		 	 	 	 	 	 	 		 	 	 	 	9 	 	 	 X X X X X X X Xv!*8;   $y/ d    
 9?1 11#$451JM11 1 1 1Y 3     +/   ! j'"?@@A?R	 $( 
#s(^   @ +/	>( >( >(Z >( !>( $(	>(
 z7#@AA	BO	STd38n	>( >( >( >(B!cN! #38n! 
#s(^	! ! ! !H+. +. c3h+. j'"?@@A?R	+. z7#@AA	BO	STcN+. +. +. +.\8: 8$ 8 8 8 8LZ LD L L L LSJ S4 S S S SD* D D D D D<: <$ < < < <9 # )    
Bz 
B# 
B(3- 
B 
B 
B 
BsCx T#s(^    
#14	)_   DO Z0@     [)4:56?#2 2 2 2 2 25l 5tOS<P7Q 5 5 5 5& IM ,1,2D,E   #/   %1    Z 0<   J J3 J J J J J Js   ,B3 3C C