
    )iL                     @	   % S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SKJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJ r J!r!J"r#J$r%   S SKJ&r'   S SKJ*r+   S S
K,J-r.  \R^                  S:  a  S\S\
S\
S\
4S jr0O+\R^                  S:  a  S\S\
S\
S\
4S jr0OS\S\
S\
S\
4S jr0\R^                  S:  a  \r1OSTS\
S\
S\
S\
4S jjr1\" S5      r2\S\
4   r3\/ \
4   r4\S\24   r5SS1r6\!1r7\\
   \8S'   \9" \S5      (       a  \7Ru                  \RB                  5        \R^                  S:  a  S\\
   S\\\
      4S jr;OS SKJ;r<  S \\
   S\\\
      4S! jr;\R^                  S:  a  S S"KJ=r=  S\\
   S\\
S4   4S# jr>O(S S$KJ>r?  S \\
   S\\
S4   4S% jr@S \\
   S\\
S4   4S& jr>\R^                  S:  a  S \\
   S\\
   4S' jrAOS \\
   S\\
   4S( jrA\R^                  S):  a  S \\\
      S\B4S* jrC\+4rDO:S SK,r,S SKrS \\\
      S\B4S+ jrC\Rz                  \,RT                  \,RZ                  4rD\\E\4   rF\(       aq  S S,KGJHrH  \\\E\
4   SS4   rI\\E\
4   rJ\\
\
4   rK\\E   rL\\E   rM\\N\E4   rO\	\O   rP\\O\
4   rQ\\O\
4   rR\\3SS4   rS\\\\E   \
4      rTS-rU\U(       a  \V\
   rWO\V\
\
\
4   rWS.rXSR                  rZS\Z\!S   4r[\\
\
\
4   \8S/'   \R^                  S:  a
  S\
S\B4S0 jr\O&\R^                  SS1 S:X  a
  S\
S\B4S2 jr\O	S\
S\B4S3 jr\S4\\
   S\E4S5 jr]S6\\E\\
   4   S7\\E   S\\E\\
   4   4S8 jr^S\\
   S\B4S9 jr_S\\
   S\B4S: jr`S\\
   S\\
S4   4S; jraS\\
   S\\
S4   4S< jrbS\\
   S\B4S= jrcS\\
   S\B4S> jrdS\
S\B4S? jreS\
S\B4S@ jrf\" SA\E5      rgS\\
   S\B4SB jrhS\\
   S\\
   4SC jriS4\\\
      S\B4SD jrjS4\\\
      S\B4SE jrkSF\\
   S\B4SG jrlSF\\
   S\B4SH jrmSISJS\
S\
SS4SK jrn SUSL\\
   SM\SJ   SN\\\\
   \E\4   \34   SSOSP\\\o   S4   SS4SQ jjrpS\\
   S\S\B\\
   4   4SR jrqS \
S\\
   4SS jrrg! \( a
    S SKJ)r'   GNf = f! \( a    S	r+ GN#f = f! \( a    S	r. GN+f = f)V    N)Callable)PathLike)TYPE_CHECKINGAbstractSetAnyr   ClassVarDict
ForwardRef	GeneratorIterableListMappingNewTypeOptionalSequenceSetTupleTypeTypeVarUnion
_eval_typecastget_type_hints)	AnnotatedFinalLiteralNotRequiredRequired)_TypingBase)_Final)GenericAlias )	UnionType   	   type_globalnslocalnsreturnc                 $    U R                  X5      $ N)	_evaluater'   r(   r)   s      R/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pydantic/v1/typing.pyevaluate_forwardrefr0   <   s    x11    )r%         c                 N    [        [        U 5      R                  X[        5       S9$ )N)recursive_guardr   r   r-   setr.   s      r/   r0   r0   A   s#    
 C))(SU)SSr1   c                 P    [        [        U 5      R                  XS[        5       S9$ )Nr"   )type_paramsr5   r6   r.   s      r/   r0   r0   J   s'     C))(]`]b)ccr1   objc                     [        XUSS9$ )NT)include_extras)r   )r:   r(   r)   s      r/   get_all_type_hintsr=   X   s    cWTJJr1   _T.AnnotatedMeta_AnnotatedAliasLITERAL_TYPESr   r%      tc                     [        U 5      R                  [        ;   a  [        [        [
           [        5      $ [        U SS 5      $ )N
__origin__)type__name__AnnotatedTypeNamesr   r   r   r   getattr)rD   s    r/   
get_originrK   q   s5    711S	9--q,--r1   )rK   tpc                     [        U 5      R                  [        ;   a  [        [        [
           [        5      $ [        U 5      =(       d    [        U SS5      $ )a  
We can't directly use `typing.get_origin` since we need a fallback to support
custom generic classes like `ConstrainedList`
It should be useless once https://github.com/cython/cython/issues/3537 is
solved and https://github.com/pydantic/pydantic/pull/1753 is merged.
rF   N)	rG   rH   rI   r   r   r   r   _typing_get_originrJ   rL   s    r/   rK   rK   z   sA     8 22S	9--!"%H\4)HHr1   )_GenericAliasc                 @   [        U 5      R                  [        ;   a  U R                  U R                  -   $ [        U [        5      (       aG  U R                  nU R                  [        L a&  U(       a  US   [        La  [        USS 5      US   4nU$ [        U SS5      $ )zCompatibility version of get_args for python 3.7.

Mostly compatible with the python 3.8 `typing` module version
and able to handle almost all use cases.
r   N__args__r"   )rG   rH   rI   rS   __metadata__
isinstancerP   rF   r   EllipsislistrJ   )rD   ress     r/   get_argsrY      s     711::..a''**C||x'CCF(4JCH~s2w/Jq*b))r1   rY   c                     [        U S5      (       a  [        4U R                  -  $  U [        S   :X  d!  [        R
                  S:  a  U [        S   :X  a  gg! [         a     gf = f)a!  
In python 3.9, `typing.Dict`, `typing.List`, ...
do have an empty `__args__` by default (instead of the generic ~T for example).
In order to still support `Dict` for example and consider it as `Dict[Any, Any]`,
we retrieve the `_nparams` value that tells us how many parameters it needs.
_nparamsr"   r$   r"   )hasattrr   r\   r   sysversion_infotuple	TypeErrorrO   s    r/   _generic_get_argsrc      sh     2z""6BKK''	U2Y#"2"2f"<uRy   		s   .A 
A$#A$c                     [        U 5      R                  [        ;   a  U R                  U R                  -   $ [        U 5      =(       d    [        U SS5      =(       d    [        U 5      $ )a  Get type arguments with all substitutions performed.

For unions, basic simplifications used by Union constructor are performed.
Examples::
    get_args(Dict[str, int]) == (str, int)
    get_args(int) == ()
    get_args(Union[int, Union[T, int], str][int]) == (int, str)
    get_args(Union[int, Tuple[T, int]][str]) == (int, Tuple[str, int])
    get_args(Callable[[], T][int]) == ([], int)
rS   r"   )rG   rH   rI   rS   rT   _typing_get_argsrJ   rc   rO   s    r/   rY   rY      sO     8 22;;00#[wr:r'B[FWXZF[[r1   c                     U $ )zPython 3.9 and older only supports generics from `typing` module.
They convert strings to ForwardRef automatically.

Examples::
    typing.List['Hero'] == typing.List[ForwardRef('Hero')]
r"   rO   s    r/   convert_genericsrg      s	     	r1   c                   ^  [        T 5      nU(       a  [        T S5      (       d  T $ [        T 5      nU[        L a  [        [	        US   5      /USS Q7   $ [        U 4S jU 5       5      nX2:X  a  T $ [        T [        5      (       a  [        X5      $ [        T [        5      (       a%  [        R                  " [        R                  U5      $  [        T SU5        T $ ! [         a     T $ f = f)a  
Recursively searches for `str` type hints and replaces them with ForwardRef.

Examples::
    convert_generics(list['Hero']) == list[ForwardRef('Hero')]
    convert_generics(dict['Hero', 'Team']) == dict[ForwardRef('Hero'), ForwardRef('Team')]
    convert_generics(typing.Dict['Hero', 'Team']) == typing.Dict[ForwardRef('Hero'), ForwardRef('Team')]
    convert_generics(list[str | 'Hero'] | int) == list[str | ForwardRef('Hero')] | int
rS   r      Nc              3      >#    U  HE  n[        U[        5      (       a   [        T[        5      (       a  [        U5      O
[	        U5      v   MG     g 7fr,   )rU   strTypingGenericAliasr
   rg   ).0argrL   s     r/   	<genexpr>#convert_generics.<locals>.<genexpr>   sA      
  *#s33
2GY8Z8ZJsO`pqt`uus   AA)rK   r^   rY   r   rg   ra   rU   rl   TypesUnionType	functoolsreduceoperatoror_setattrAttributeError)rL   originargs	converteds   `   r/   rg   rg      s     BWR44I| Y.tAw7C$qr(CDD  

 
	
 I.//%f88N++##HLL)<<J	2 I " Is   C 
C+*C+r%   
   c                     U [         L $ r,   )r   rO   s    r/   is_unionr~      s    U{r1   c                 D    U [         L =(       d    U [        R                  L $ r,   )r   typesr#   rO   s    r/   r~   r~     s    U{3bEOO33r1   )
ModelFieldF)'AnyCallableNoArgAnyCallableNoneTypeis_none_typedisplay_as_typeresolve_annotationsis_callable_typeis_literal_typeall_literal_valuesis_namedtupleis_typeddictis_typeddict_specialis_new_typenew_type_supertypeis_classvaris_finalvarupdate_field_forward_refsupdate_model_forward_refsTupleGenerator
DictStrAnyDictAnySetStrListStrIntStrAbstractSetIntStrDictIntStrAnyCallableGeneratorReprArgsAnyClassMethodr   WithArgsTypesrY   rK   get_sub_typestyping_baser=   r~   StrPathMappingIntStrAny
NONE_TYPESc                     U [         ;   $ r,   r   r'   s    r/   r   r   X      
""r1      c                 f    [          H	  nXL d  M	    g   [        U 5      (       a  [        U 5      S:H  $ g)NTr,   F)r   r   r   )r'   	none_types     r/   r   r   ]  s5    #I! $ 5!!%e,77r1   c                     U [         ;   $ r,   r   r   s    r/   r   r   j  r   r1   vc           	         [        U [        5      (       d6  [        U [        5      (       d!  [        U [        5      (       d  U R                  n [        [        U 5      5      (       a,  SSR                  [        [        [        U 5      5      5       S3$ [        U [        5      (       a  [        U 5      R                  SS5      $  U R                  $ ! [         a    [        U 5      R                  SS5      s $ f = f)NzUnion[z, ]ztyping. )rU   r   r   rG   	__class__r~   rK   joinmapr   rY   rk   replacerH   rw   r   s    r/   r   r   n  s    a%%jM.J.JS]^_aeSfSfKK
1		#ox{"CDEQGG!]##1v~~i,,-zz -1v~~i,,-s   C %C65C6raw_annotationsmodule_namec                    SnU(       a    [         R                  U   nUR                  n0 nU R	                  5        H  u  pV[        U[        5      (       aG  S[         R                  s=:  a  S:  d  O  [         R                  S:  a  [        USSS9nO
[        USS9n [         R                  S	:  a  [        XbSS
S9nO[        XbS5      n XdU'   M     U$ ! [         a     Nf = f! [         a     N&f = f)zv
Partially taken from typing.get_type_hints.

Resolve string or ForwardRef annotations into type objects if possible.
Nr{   )r%   r&   rC   )r%   r|   ri   FT)is_argumentis_class)r   )r%      r"   )r9   )r_   modules__dict__KeyErroritemsrU   rk   r`   r
   r   	NameError)r   r   base_globalsmoduleannotationsnamevalues          r/   r   r     s     .2L	+[[-F
 "??LK&,,.eS!!))6Y6#:J:Jj:X"5edK"5e<	7*"5"M"5= "D / -  		$  		s)   C C%>C%
C"!C"%
C21C2c                 B    U [         L =(       d    [        U 5      [         L $ r,   )r   rK   r   s    r/   r   r     s    H=
5 1X ==r1   c                 D    [         S L=(       a    [        U 5      [        ;   $ r,   )r   rK   rA   r   s    r/   r   r     s    $E:e#4#EEr1   c                     [        U 5      $ r,   rZ   r   s    r/   literal_valuesr     s    E?r1   c                 b    [        U 5      (       d  U 4$ [        U 5      n[        S U 5       5      $ )z
This method is used to retrieve all Literal values as
Literal can be used recursively (see https://www.python.org/dev/peps/pep-0586)
e.g. `Literal[Literal[Literal[1, 2, 3], "foo"], 5, None]`
c              3   J   #    U  H  n[        U5        H  o"v   M     M     g 7fr,   )r   )rm   r   xs      r/   ro   %all_literal_values.<locals>.<genexpr>  s     Ju0B50I10Is   !#)r   r   ra   )r'   valuess     r/   r   r     s1     5!!xE"FJJJJr1   c                 N    SSK Jn  U" U [        5      =(       a    [        U S5      $ )zm
Check if a given class is a named tuple.
It can be either a `typing.NamedTuple` or `collections.namedtuple`
r   lenient_issubclass_fields)pydantic.v1.utilsr   ra   r^   r'   r   s     r/   r   r     s     
 5eU+Iy0IIr1   c                 N    SSK Jn  U" U [        5      =(       a    [        U S5      $ )z
Check if a given class is a typed dict (from `typing` or `typing_extensions`)
In 3.10, there will be a public method (https://docs.python.org/3.10/library/typing.html#typing.is_typeddict)
r   r   	__total__)r   r   dictr^   r   s     r/   r   r     s     
 5eT*Jwuk/JJr1   c                 0    U [         L =(       d    U [        L $ r,   )TypedDictRequiredTypedDictNotRequiredr   s    r/   _check_typeddict_specialr     s    %%F2F)FFr1   c                 N    [        U 5      =(       d    [        [        U 5      5      $ )zF
Check if type is a TypedDict special form (Required or NotRequired).
)r   rK   r   s    r/   r   r     s      $E*Y.FzRWGX.YYr1   	test_typec                 \    [        U [        R                  5      =(       a    [        U S5      $ )z6
Check whether type_ was created using typing.NewType
__supertype__)rU   r   r   r^   r   s    r/   r   r     s#     eY001Uge_6UUr1   c                 f    [        U S5      (       a  U R                  n [        U S5      (       a  M  U $ )Nr   )r^   r   r   s    r/   r   r     s.    
%
)
)## %
)
)Lr1   c                 r    U c  gU R                   [        R                   :H  =(       a    [        U SS 5      S:H  $ )NF_namer   )r   r   rJ   r   s    r/   _check_classvarr     s2    y;;(,,,XGT1Jj1XXr1   c                     U c  gU R                   [        R                   :H  =(       a*    [        R                  S:  =(       d    [	        U SS5      S:H  $ )z1
Check if a given type is a `typing.Final` type.
NFrB   r   r   )r   r   r_   r`   rJ   r   s    r/   _check_finalvarr     sF     	y;;%//)qs/?/?&/H/pGTUW^`dLeipLpqr1   ann_typec                     [        U 5      (       d  [        [        U 5      5      (       a  gU R                  [        :X  a!  U R                  R                  S5      (       a  gg)NTz	ClassVar[F)r   rK   r   r
   __forward_arg__
startswithr   s    r/   r   r     sL    x  OJx4H$I$I Z'H,D,D,O,OP[,\,\r1   c                 N    [        U 5      =(       d    [        [        U 5      5      $ r,   )r   rK   r   s    r/   r   r     s    8$M
88L(MMr1   fieldr   c                    SnU R                   R                  [        :X  a&  Sn[        U R                   X=(       d    S5      U l         U R                  R                  [        :X  a&  Sn[        U R                  X=(       d    S5      U l        U(       a  U R                  5         U R                  (       a  U R                   H  n[        XAUS9  M     U R                  b  U R                  5         gg)zU
Try to update ForwardRefs on fields based on this ModelField, globalns and localns.
FTNr(   r)   )
r'   r   r
   r0   outer_type_prepare
sub_fieldsr   discriminator_key&prepare_discriminated_union_sub_fields)r   r(   r)   r   sub_fs        r/   r   r     s     G{{
*)%++xDQ""j0/0A0A8_X\]%%E%eP & *446 +r1   modelfieldsjson_encodersr   exc_to_suppressc                 L   U R                   [        R                  ;   a6  [        R                  U R                      R                  R	                  5       nO0 nUR                  U R                  U 5        U H  n [        XeUS9  M     [        UR                  5       5       Hg  n[        U[        5      (       a  [        U5      nO[        U[        5      (       a  UnOM>   [        XU=(       d    S5      n	UR                  U5      X)'   Mi     g! U a     M  f = f! U a     M  f = f)zD
Try to update model fields ForwardRefs based on model and localns.
r   N)
__module__r_   r   r   copy
setdefaultrH   r   r7   keysrU   rk   r
   r0   pop)
r   r   r   r)   r   r(   fkeyfrnew_keys
             r/   r   r   "  s    3;;&;;u//099>>@.	%aGL  =%%'(c3'_BZ((B	)"4HG "/!2!23!7 )  		  		s$   9
DDDDD#"D#c                     U [         L a  g[        U 5      c  g[        U 5      nU(       a  [        US   [         5      (       d  gUS   $ )zx
Tries to get the class of a Type[T] annotation. Returns True if Type is used
without brackets. Otherwise returns None.
TNr   )rG   rK   rY   rU   )r'   ry   s     r/   	get_classr  I  sD    
 }% E?Dz$q'400Awr1   c                     [        U 5      nU[        L a  [        [        U 5      S   5      $ [	        U5      (       a0  [        U 5       VVs/ s H  n[        U5        H  o3PM     M     snn$ U /$ s  snnf )zr
Return all the types that are allowed by type `tp`
`tp` can be a `Union` of allowed types or an `Annotated` type
r   )rK   r   r   rY   r~   )rL   rx   rD   r   s       r/   r   r   [  sg    
 ^FXb\!_--	&		#B<B<aq1AA1A<BBt Cs   
A/)NNr]   )srr   rt   r_   typingcollections.abcr   osr   r   r   r   TypingCallabler   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   r   r   r   r   r   r   ImportErrorr    r!   rl   r   r#   rq   r`   r0   r=   r>   r   r   AnyArgTCallablerI   rA   __annotations__r^   addrK   rN   rP   rY   re   rc   rg   boolr~   r   rk   r   pydantic.v1.fieldsr   r   r   r   r   r   intr   r   r   r   r   r   MYPYclassmethodr   __all__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   BaseExceptionr   r  r   r"   r1   r/   <module>r     s     
  $      2 -19
1 f2: 2 2s 2s 2 	
"T: T Ts Ts Td: d ds ds d f (K Ks KC KSV K T]S#X&!"c'*  !b)
 &'89  #)s3x #
69fnn% f.d3i .HT#Y$7 . 8	ItCy 	IXd3i%8 	I f$*DI *%S/ *  4d3i E#s(O (\T#Y \5c? \" fT#Y 49 &T#Y &49 &R gXd3i( T  ()M 4Xd3i( 4T 4 ))5+=+=uOM X
 -uS#Xd:;Nc3hJ38nGXF3iG38_F#F+%Mvs{+!+tT"9:hsmS012HD$S) %S#s]3(V >> %)(GDM#B
E#sC-  B f#C #D # 	bqV#	C 	D 	#C #D #-tCy -S -$ c49n)=  HUXM  ^bcfhlmphqcq^r  F>DI >$ >F49 F F$s) c3h 
Kd3i 
KE#s(O 
KJc Jt JKS	 Kd KGC GD GZ Z Z K%	VtCy VT Vd3i DI YxS	* Yt YrxS	* rt r	$s) 	 	N$s) N N7\ 7S 73 7SW 76 8:$89$8\"$8 d3ij89;FG$8 	$8
 4.34$8 
$8NT#Y 5tT#Y)>#? $c d3i c  -,,-
    Ns6   Q/ $R +R /Q?>Q?RRRR