Ë
    |¾j_  ã                  óž  — U d Z ddlmZ ddlZddl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 ddlmZ ddlmZ ddlmZmZmZ d	d
lmZ d	dlmZmZmZm Z  d	d
l!mZ d	dl"m#Z# ejH                  dk  rddlm%Z% nddl
m%Z% ejL                  Z' ejP                  dFddie jR                  ¤Ž G d„ d«      «       Z* ejP                  dFddie jR                  ¤Ž G d„ d«      «       Z+ ejP                  dFddie jR                  ¤Ž G d„ d«      «       Z, ejP                  dFddie jR                  ¤Ž G d„ d«      «       Z-er~ G d„ de%«      Z. G d„ de%«      Z/ G d„ de%«      Z0ee/ejb                  e.ejd                  f   Z3ee0ejh                  f   Z5ee6eeef   e7eef   ee   f   Z8de9d <    ed!e3e8«      Z: ed"e5e8«      Z;ed#d#d$œ	 	 	 	 	 	 	 	 	 dGd%„«       Z<ed#d&œ	 	 	 	 	 	 	 	 	 dHd'„«       Z<ed(   Z=de9d)<   d*dd$œ	 	 	 	 	 	 	 	 	 dId+„Z< ed,«      Z> ed-d¬.«      Z? G d/„ d0ej€                  e%e?   «      ZA G d1„ d2e%e>   «      ZB G d3„ d4e%e>   «      ZC G d5„ d6e%«      ZD G d7„ d8e%«      ZE G d9„ d:e%«      ZF G d;„ d<e%«      ZGee>ge>f   ZH	 ee>ej’                  ge>f   ZJ	 eeCe>   eBe>   f   ZKeeFeGeDeEf   ZLeeJe>   eHe>   f   ZMe	 	 	 	 dJd=„«       ZNe	 	 	 	 dKd>„«       ZNe	 	 	 	 dLd?„«       ZN	 	 	 	 dMd@„ZN edA«      ZOereeOd#f   ZPn) ejP                  dFi e jR                  ¤Ž G dB„ dC«      «       ZPereeOd#f   ZQy ejP                  dFi e jR                  ¤Ž G dD„ dE«      «       ZQy)NzBThis module contains related classes and functions for validation.é    )ÚannotationsN)Úpartialmethod)ÚFunctionType)ÚTYPE_CHECKINGÚAnyÚCallableÚTypeVarÚUnionÚcastÚoverload)Úcore_schema)Ú	AnnotatedÚLiteralÚ	TypeAliasé   )ÚGetCoreSchemaHandler)Ú_core_metadataÚ_decoratorsÚ	_genericsÚ_internal_dataclass)ÚPydanticUserError)é   é   )ÚProtocolÚfrozenTc                  ó$   — e Zd ZU dZded<   dd„Zy)ÚAfterValidatora8  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#annotated-validators

    A metadata class that indicates that a validation should be applied **after** the inner validation logic.

    Attributes:
        func: The validator function.

    Example:
        ```py
        from typing_extensions import Annotated

        from pydantic import AfterValidator, BaseModel, ValidationError

        MyInt = Annotated[int, AfterValidator(lambda v: v + 1)]

        class Model(BaseModel):
            a: MyInt

        print(Model(a=1).a)
        #> 2

        try:
            Model(a='a')
        except ValidationError as e:
            print(e.json(indent=2))
            '''
            [
              {
                "type": "int_parsing",
                "loc": [
                  "a"
                ],
                "msg": "Input should be a valid integer, unable to parse string as an integer",
                "input": "a",
                "url": "https://errors.pydantic.dev/2/v/int_parsing"
              }
            ]
            '''
        ```
    úKcore_schema.NoInfoValidatorFunction | core_schema.WithInfoValidatorFunctionÚfuncc                óD  —  ||«      }t        | j                  d«      }|rFt        t        j                  | j                  «      }t        j
                  |||j                  ¬«      S t        t        j                  | j                  «      }t        j                  ||¬«      S )NÚafter©ÚschemaÚ
field_name©r#   )	Ú_inspect_validatorr   r   r   ÚWithInfoValidatorFunctionÚ"with_info_after_validator_functionr$   ÚNoInfoValidatorFunctionÚ no_info_after_validator_function©ÚselfÚsource_typeÚhandlerr#   Úinfo_argr   s         úa/var/www/html/candidateportal/venv/lib/python3.12/site-packages/pydantic/functional_validators.pyÚ__get_pydantic_core_schema__z+AfterValidator.__get_pydantic_core_schema__I   sz   € Ù˜Ó%ˆÜ% d§i¡i°Ó9ˆÙÜœ×=Ñ=¸t¿y¹yÓIˆDÜ×AÑAÀ$ÈvÐbi×btÑbtÔuÐuäœ×;Ñ;¸T¿Y¹YÓGˆDÜ×?Ñ?ÀÈVÔTÐTó    N©r-   r   r.   Ú_GetCoreSchemaHandlerÚreturnúcore_schema.CoreSchema©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r1   © r2   r0   r   r      s   … ñ'ðR VÓUôUr2   r   c                  ó$   — e Zd ZU dZded<   dd„Zy)ÚBeforeValidatoraÈ  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#annotated-validators

    A metadata class that indicates that a validation should be applied **before** the inner validation logic.

    Attributes:
        func: The validator function.

    Example:
        ```py
        from typing_extensions import Annotated

        from pydantic import BaseModel, BeforeValidator

        MyInt = Annotated[int, BeforeValidator(lambda v: v + 1)]

        class Model(BaseModel):
            a: MyInt

        print(Model(a=1).a)
        #> 2

        try:
            Model(a='a')
        except TypeError as e:
            print(e)
            #> can only concatenate str (not "int") to str
        ```
    r   r   c                óD  —  ||«      }t        | j                  d«      }|rFt        t        j                  | j                  «      }t        j
                  |||j                  ¬«      S t        t        j                  | j                  «      }t        j                  ||¬«      S )NÚbeforer"   r%   )	r&   r   r   r   r'   Ú#with_info_before_validator_functionr$   r)   Ú!no_info_before_validator_functionr+   s         r0   r1   z,BeforeValidator.__get_pydantic_core_schema__u   s{   € Ù˜Ó%ˆÜ% d§i¡i°Ó:ˆÙÜœ×=Ñ=¸t¿y¹yÓIˆDÜ×BÑBÀ4ÐPVÐcj×cuÑcuÔvÐväœ×;Ñ;¸T¿Y¹YÓGˆDÜ×@Ñ@ÀÈfÔUÐUr2   Nr3   r7   r=   r2   r0   r?   r?   T   s   … ñð: VÓUôVr2   r?   c                  ó$   — e Zd ZU dZded<   dd„Zy)ÚPlainValidatora;  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#annotated-validators

    A metadata class that indicates that a validation should be applied **instead** of the inner validation logic.

    Attributes:
        func: The validator function.

    Example:
        ```py
        from typing_extensions import Annotated

        from pydantic import BaseModel, PlainValidator

        MyInt = Annotated[int, PlainValidator(lambda v: int(v) + 1)]

        class Model(BaseModel):
            a: MyInt

        print(Model(a='1').a)
        #> 2
        ```
    r   r   c                óœ  — ddl m} 	  ||«      }t        j                  d„ |¬«      }t	        | j
                  d«      }|rFt        t        j                  | j
                  «      }t        j                  ||j                  |¬«      S t        t        j                  | j
                  «      }t        j                  ||¬«      S # |$ r d }Y Œ¢w xY w)Nr   ©ÚPydanticSchemaGenerationErrorc                ó   —  || «      S ©Nr=   ©ÚvÚhs     r0   ú<lambda>z=PlainValidator.__get_pydantic_core_schema__.<locals>.<lambda>¥   s   € ÑbcÐdeÓbf€ r2   ©Úfunctionr#   Úplain)r$   Úserialization)rR   )ÚpydanticrH   r   Ú#wrap_serializer_function_ser_schemar&   r   r   r'   Ú"with_info_plain_validator_functionr$   r)   Ú no_info_plain_validator_function)r,   r-   r.   rH   r#   rR   r/   r   s           r0   r1   z+PlainValidator.__get_pydantic_core_schema__›   s·   € õ 	;ð	!Ù˜[Ó)ˆFÜ'×KÑKÑUfÐouÔvˆMô & d§i¡i°Ó9ˆÙÜœ×=Ñ=¸t¿y¹yÓIˆDÜ×AÑAØ ×!3Ñ!3À=ôð ô œ×;Ñ;¸T¿Y¹YÓGˆDÜ×?Ñ?ÀÐTaÔbÐbøð -ò 	!Ø ŠMð	!ús   ˆ C ÃCÃ
CNr3   r7   r=   r2   r0   rE   rE   €   s   … ñð. VÓUôcr2   rE   c                  ó$   — e Zd ZU dZded<   dd„Zy)ÚWrapValidatora  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#annotated-validators

    A metadata class that indicates that a validation should be applied **around** the inner validation logic.

    Attributes:
        func: The validator function.

    ```py
    from datetime import datetime

    from typing_extensions import Annotated

    from pydantic import BaseModel, ValidationError, WrapValidator

    def validate_timestamp(v, handler):
        if v == 'now':
            # we don't want to bother with further validation, just return the new value
            return datetime.now()
        try:
            return handler(v)
        except ValidationError:
            # validation failed, in this case we want to return a default value
            return datetime(2000, 1, 1)

    MyTimestamp = Annotated[datetime, WrapValidator(validate_timestamp)]

    class Model(BaseModel):
        a: MyTimestamp

    print(Model(a='now').a)
    #> 2032-01-02 03:04:05.000006
    print(Model(a='invalid').a)
    #> 2000-01-01 00:00:00
    ```
    zScore_schema.NoInfoWrapValidatorFunction | core_schema.WithInfoWrapValidatorFunctionr   c                óD  —  ||«      }t        | j                  d«      }|rFt        t        j                  | j                  «      }t        j
                  |||j                  ¬«      S t        t        j                  | j                  «      }t        j                  ||¬«      S )NÚwrapr"   r%   )	r&   r   r   r   ÚWithInfoWrapValidatorFunctionÚ!with_info_wrap_validator_functionr$   ÚNoInfoWrapValidatorFunctionÚno_info_wrap_validator_functionr+   s         r0   r1   z*WrapValidator.__get_pydantic_core_schema__Ü   sz   € Ù˜Ó%ˆÜ% d§i¡i°Ó8ˆÙÜœ×AÑAÀ4Ç9Á9ÓMˆDÜ×@Ñ@ÀÈfÐah×asÑasÔtÐtäœ×?Ñ?ÀÇÁÓKˆDÜ×>Ñ>¸tÈFÔSÐSr2   Nr3   r7   r=   r2   r0   rX   rX   ´   s   … ñ"ðH ^Ó]ôTr2   rX   c                  ó   — e Zd Zdd„Zy)Ú_OnlyValueValidatorClsMethodc                ó   — y rJ   r=   ©r,   ÚclsÚvalues      r0   Ú__call__z%_OnlyValueValidatorClsMethod.__call__ê   ó   € Ør2   N©rc   r   rd   r   r5   r   ©r8   r9   r:   re   r=   r2   r0   r`   r`   é   ó   „ ô	r2   r`   c                  ó   — e Zd Zdd„Zy)Ú_V2ValidatorClsMethodc                ó   — y rJ   r=   ©r,   rc   rd   Úinfos       r0   re   z_V2ValidatorClsMethod.__call__î   rf   r2   N©rc   r   rd   r   rn   ú_core_schema.ValidationInfor5   r   rh   r=   r2   r0   rk   rk   í   ri   r2   rk   c                  ó(   — e Zd Z	 	 	 	 	 	 	 	 	 	 dd„Zy)Ú_V2WrapValidatorClsMethodc                ó   — y rJ   r=   ©r,   rc   rd   r.   rn   s        r0   re   z"_V2WrapValidatorClsMethod.__call__ò   s   € ð r2   N)
rc   r   rd   r   r.   z)_core_schema.ValidatorFunctionWrapHandlerrn   rp   r5   r   rh   r=   r2   r0   rr   rr   ñ   s7   „ ð	àð	ð ð	ð ?ð		ð
 .ð	ð ô	r2   rr   r   Ú_PartialClsOrStaticMethodÚ"_V2BeforeAfterOrPlainValidatorTypeÚ_V2WrapValidatorType.)ÚmodeÚcheck_fieldsc               ó   — y rJ   r=   ©Úfieldrx   ry   Úfieldss       r0   Úfield_validatorr~     ó   € ð r2   )ry   c               ó   — y rJ   r=   r{   s       r0   r~   r~     r   r2   )rA   r!   rZ   rQ   ÚFieldValidatorModesr!   c              ó¨   ‡‡‡— t        | t        «      rt        dd¬«      ‚| g‰¢­Št        d„ ‰D «       «      st        dd¬«      ‚	 	 	 	 dˆˆˆfd„}|S )	a:  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#field-validators

    Decorate methods on the class indicating that they should be used to validate fields.

    Example usage:
    ```py
    from typing import Any

    from pydantic import (
        BaseModel,
        ValidationError,
        field_validator,
    )

    class Model(BaseModel):
        a: str

        @field_validator('a')
        @classmethod
        def ensure_foobar(cls, v: Any):
            if 'foobar' not in v:
                raise ValueError('"foobar" not found in a')
            return v

    print(repr(Model(a='this is foobar good')))
    #> Model(a='this is foobar good')

    try:
        Model(a='snap')
    except ValidationError as exc_info:
        print(exc_info)
        '''
        1 validation error for Model
        a
          Value error, "foobar" not found in a [type=value_error, input_value='snap', input_type=str]
        '''
    ```

    For more in depth examples, see [Field Validators](../concepts/validators.md#field-validators).

    Args:
        field: The first field the `field_validator` should be called on; this is separate
            from `fields` to ensure an error is raised if you don't pass at least one.
        *fields: Additional field(s) the `field_validator` should be called on.
        mode: Specifies whether to validate the fields before or after validation.
        check_fields: Whether to check that the fields actually exist on the model.

    Returns:
        A decorator that can be used to decorate a function to be used as a field_validator.

    Raises:
        PydanticUserError:
            - If `@field_validator` is used bare (with no fields).
            - If the args passed to `@field_validator` as fields are not strings.
            - If `@field_validator` applied to instance methods.
    z…`@field_validator` should be used with fields and keyword arguments, not bare. E.g. usage should be `@validator('<field_name>', ...)`zvalidator-no-fields©Úcodec              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wrJ   )Ú
isinstanceÚstr)Ú.0r|   s     r0   ú	<genexpr>z"field_validator.<locals>.<genexpr>q  s   è ø€ Ò:¨%Œz˜%¤×%Ñ:ùs   ‚zŽ`@field_validator` fields should be passed as separate string args. E.g. usage should be `@validator('<field_name_1>', '<field_name_2>', ...)`zvalidator-invalid-fieldsc                óÎ   •— t        j                  | «      rt        dd¬«      ‚t        j                  | «      } t        j                  ‰‰‰¬«      }t        j
                  | |«      S )Nz8`@field_validator` cannot be applied to instance methodszvalidator-instance-methodrƒ   )r}   rx   ry   )r   Úis_instance_method_from_sigr   Ú%ensure_classmethod_based_on_signatureÚFieldValidatorDecoratorInfoÚPydanticDescriptorProxy)ÚfÚdec_infory   r}   rx   s     €€€r0   Údeczfield_validator.<locals>.decx  s`   ø€ ô ×2Ñ2°1Ô5Ü#ØJÐQlôð ô
 ×=Ñ=¸aÓ@ˆä×:Ñ:À&ÈtÐbnÔoˆÜ×2Ñ2°1°hÓ?Ð?r2   )r�   zHCallable[..., Any] | staticmethod[Any, Any] | classmethod[Any, Any, Any]r5   ú(_decorators.PydanticDescriptorProxy[Any])r†   r   r   Úall)r|   rx   ry   r}   r‘   s    ``` r0   r~   r~   +  sv   ú€ ô~ �%œÔ&ÜðEà&ô
ð 	
ð
 ˆ^�V‰^€FÜÑ:°6Ô:Ô:ÜðYà+ô
ð 	
ð@ØSð@à	1÷@ð €Jr2   Ú
_ModelTypeÚ_ModelTypeCo)Ú	covariantc                  ó&   — e Zd ZdZ	 d	 	 	 	 	 dd„Zy)ÚModelWrapValidatorHandlerz[@model_validator decorated function handler argument type. This is used when `mode='wrap'`.Nc                ó   — y rJ   r=   )r,   rd   Úouter_locations      r0   re   z"ModelWrapValidatorHandler.__call__�  s   € ð 	r2   rJ   )rd   r   rš   zstr | int | Noner5   r•   ©r8   r9   r:   r;   re   r=   r2   r0   r˜   r˜   �  s+   „ Ùeð
 ,0ðàðð )ðð
 
ôr2   r˜   c                  ó(   — e Zd ZdZ	 	 	 	 	 	 	 	 dd„Zy)ÚModelWrapValidatorWithoutInfoz‡A @model_validator decorated function signature.
    This is used when `mode='wrap'` and the function does not have info argument.
    c                ó   — y rJ   r=   )r,   rc   rd   r.   s       r0   re   z&ModelWrapValidatorWithoutInfo.__call__ž  ó   € ð 	r2   N)rc   útype[_ModelType]rd   r   r.   ú%ModelWrapValidatorHandler[_ModelType]r5   r”   r›   r=   r2   r0   r�   r�   ™  s2   „ ñð
àð
ð ð
ð 7ð
ð 
ô
r2   r�   c                  ó,   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚModelWrapValidatorzQA @model_validator decorated function signature. This is used when `mode='wrap'`.c                ó   — y rJ   r=   rt   s        r0   re   zModelWrapValidator.__call__®  s   € ð 	r2   N)
rc   r    rd   r   r.   r¡   rn   rp   r5   r”   r›   r=   r2   r0   r£   r£   «  s:   „ Ù[ðàðð ðð 7ðð *ðð 
ôr2   r£   c                  ó    — e Zd ZdZ	 	 	 	 dd„Zy)Ú#FreeModelBeforeValidatorWithoutInfoú‰A @model_validator decorated function signature.
    This is used when `mode='before'` and the function does not have info argument.
    c                ó   — y rJ   r=   )r,   rd   s     r0   re   z,FreeModelBeforeValidatorWithoutInfo.__call__Á  s   € ð 	r2   N)rd   r   r5   r   r›   r=   r2   r0   r¦   r¦   ¼  s    „ ñðð
 ðð 
ôr2   r¦   c                  ó$   — e Zd ZdZ	 	 	 	 	 	 dd„Zy)ÚModelBeforeValidatorWithoutInfor§   c                ó   — y rJ   r=   rb   s      r0   re   z(ModelBeforeValidatorWithoutInfo.__call__Ñ  ó   € ð 	r2   Nrg   r›   r=   r2   r0   rª   rª   Ì  s(   „ ñð	àð	ð ð	ð 
ô	r2   rª   c                  ó$   — e Zd ZdZ	 	 	 	 	 	 dd„Zy)ÚFreeModelBeforeValidatorúUA `@model_validator` decorated function signature. This is used when `mode='before'`.c                ó   — y rJ   r=   )r,   rd   rn   s      r0   re   z!FreeModelBeforeValidator.__call__à  r¬   r2   N)rd   r   rn   rp   r5   r   r›   r=   r2   r0   r®   r®   Ý  s(   „ Ù_ð	ð
 ð	ð *ð	ð 
ô	r2   r®   c                  ó(   — e Zd ZdZ	 	 	 	 	 	 	 	 dd„Zy)ÚModelBeforeValidatorr¯   c                ó   — y rJ   r=   rm   s       r0   re   zModelBeforeValidator.__call__ï  rŸ   r2   Nro   r›   r=   r2   r0   r²   r²   ì  s0   „ Ù_ð
àð
ð ð
ð *ð
ð 
ô
r2   r²   c                 ó   — y rJ   r=   ©rx   s    r0   Úmodel_validatorr¶     ó   € ð r2   c                 ó   — y rJ   r=   rµ   s    r0   r¶   r¶     s   € ð
 r2   c                 ó   — y rJ   r=   rµ   s    r0   r¶   r¶     r·   r2   c                ó   ‡ — dˆ fd„}|S )a"  Usage docs: https://docs.pydantic.dev/2.7/concepts/validators/#model-validators

    Decorate model methods for validation purposes.

    Example usage:
    ```py
    from typing_extensions import Self

    from pydantic import BaseModel, ValidationError, model_validator

    class Square(BaseModel):
        width: float
        height: float

        @model_validator(mode='after')
        def verify_square(self) -> Self:
            if self.width != self.height:
                raise ValueError('width and height do not match')
            return self

    s = Square(width=1, height=1)
    print(repr(s))
    #> Square(width=1.0, height=1.0)

    try:
        Square(width=1, height=2)
    except ValidationError as e:
        print(e)
        '''
        1 validation error for Square
          Value error, width and height do not match [type=value_error, input_value={'width': 1, 'height': 2}, input_type=dict]
        '''
    ```

    For more in depth examples, see [Model Validators](../concepts/validators.md#model-validators).

    Args:
        mode: A required string literal that specifies the validation mode.
            It can be one of the following: 'wrap', 'before', or 'after'.

    Returns:
        A decorator that can be used to decorate a function to be used as a model validator.
    c                ó†   •— t        j                  | «      } t        j                  ‰¬«      }t        j                  | |«      S )Nrµ   )r   rŒ   ÚModelValidatorDecoratorInforŽ   )r�   r�   rx   s     €r0   r‘   zmodel_validator.<locals>.decW  s6   ø€ ä×=Ñ=¸aÓ@ˆÜ×:Ñ:ÀÔEˆÜ×2Ñ2°1°hÓ?Ð?r2   )r�   r   r5   r’   r=   )rx   r‘   s   ` r0   r¶   r¶   '  s   ø€ õ`@ð €Jr2   ÚAnyTypec                  óL   — e Zd ZdZedd„«       Zedd„«       Zej                  Zy)Ú
InstanceOfuš  Generic type for annotating a type that is an instance of a given class.

        Example:
            ```py
            from pydantic import BaseModel, InstanceOf

            class Foo:
                ...

            class Bar(BaseModel):
                foo: InstanceOf[Foo]

            Bar(foo=Foo())
            try:
                Bar(foo=42)
            except ValidationError as e:
                print(e)
                """
                [
                â”‚   {
                â”‚   â”‚   'type': 'is_instance_of',
                â”‚   â”‚   'loc': ('foo',),
                â”‚   â”‚   'msg': 'Input should be an instance of Foo',
                â”‚   â”‚   'input': 42,
                â”‚   â”‚   'ctx': {'class': 'Foo'},
                â”‚   â”‚   'url': 'https://errors.pydantic.dev/0.38.0/v/is_instance_of'
                â”‚   }
                ]
                """
            ```
        c                ó"   — t         | | «       f   S rJ   )r   ©rc   Úitems     r0   Ú__class_getitem__zInstanceOf.__class_getitem__‹  s   € ä˜T¡3£5˜[Ñ)Ð)r2   c                óö   — ddl m} t        j                  t	        j
                  |«      xs |«      }	  ||«      }t        j                  d„ |¬«      |d<   t        j                  ||¬«      S # |$ r |cY S w xY w)Nr   rG   c                ó   —  || «      S rJ   r=   rK   s     r0   rN   z9InstanceOf.__get_pydantic_core_schema__.<locals>.<lambda>Ÿ  ó
   € ©!¨A«$€ r2   rO   rR   )Úpython_schemaÚjson_schema)rS   rH   r   Úis_instance_schemar   Ú
get_originrT   Újson_or_python_schema)rc   Úsourcer.   rH   Úinstance_of_schemaÚoriginal_schemas         r0   r1   z'InstanceOf.__get_pydantic_core_schema__�  s…   € å>ô "-×!?Ñ!?Ä	×@TÑ@TÐU[Ó@\Ò@fÐ`fÓ!gÐðxá")¨&£/�ô 7B×6eÑ6eÙ.°ô7Ð" ?Ñ3ô #×8Ñ8ÐGYÐgvÔwÐwøð 1ò *à)Ò)ð*ús   ´A. Á.A8Á7A8N)rÂ   r½   r5   r½   ©rÌ   r   r.   r   r5   r6   )	r8   r9   r:   r;   ÚclassmethodrÃ   r1   ÚobjectÚ__hash__r=   r2   r0   r¿   r¿   i  s=   „ ñ	ð@ 
ò	*ó 
ð	*ð 
ò	xó 
ð	xð& —?‘?‰r2   r¿   c                  óB   — e Zd ZdZdd„Zedd„«       Zej                  Zy)ÚSkipValidationa¬  If this is applied as an annotation (e.g., via `x: Annotated[int, SkipValidation]`), validation will be
            skipped. You can also use `SkipValidation[int]` as a shorthand for `Annotated[int, SkipValidation]`.

        This can be useful if you want to use a type annotation for documentation/IDE/type-checking purposes,
        and know that it is safe to skip validation for one or more of the fields.

        Because this converts the validation schema to `any_schema`, subsequent annotation-applied transformations
        may not have the expected effects. Therefore, when used, this annotation should generally be the final
        annotation applied to a type.
        c                ó(   — t         |t        «       f   S rJ   )r   rÔ   rÁ   s     r0   rÃ   z SkipValidation.__class_getitem__·  s   € Ü˜T¤>Ó#3Ð3Ñ4Ð4r2   c                ó¢   ‡—  ||«      Št        j                  ˆfd„g¬«      }t        j                  |t        j                  d„ ‰¬«      ¬«      S )Nc                ó   •—  |‰«      S rJ   r=   )Ú_crM   rÎ   s     €r0   rN   z=SkipValidation.__get_pydantic_core_schema__.<locals>.<lambda>½  s   ø€ ÑabÐcrÓas€ r2   )Újs_annotation_functionsc                ó   —  || «      S rJ   r=   rK   s     r0   rN   z=SkipValidation.__get_pydantic_core_schema__.<locals>.<lambda>Á  rÆ   r2   rO   )ÚmetadatarR   )r   Úbuild_metadata_dictr   Ú
any_schemarT   )rc   rÌ   r.   rÛ   rÎ   s       @r0   r1   z+SkipValidation.__get_pydantic_core_schema__º  sI   ø€ á% f›oˆOÜ%×9Ñ9ÓSsÐRtÔuˆHÜ×)Ñ)Ø!Ü)×MÑMÙ.°ôôð r2   N)rÂ   r   r5   r   rÏ   )	r8   r9   r:   r;   rÃ   rÐ   r1   rÑ   rÒ   r=   r2   r0   rÔ   rÔ   ª  s+   „ ñ		ó	5ð 
ò	ó 
ð	ð —?‘?‰r2   rÔ   r=   )
r|   r‡   r}   r‡   rx   z#Literal['before', 'after', 'plain']ry   úbool | Noner5   zRCallable[[_V2BeforeAfterOrPlainValidatorType], _V2BeforeAfterOrPlainValidatorType])
r|   r‡   r}   r‡   rx   úLiteral['wrap']ry   rÞ   r5   z6Callable[[_V2WrapValidatorType], _V2WrapValidatorType])
r|   r‡   r}   r‡   rx   r�   ry   rÞ   r5   zCallable[[Any], Any])rx   rß   r5   z|Callable[[_AnyModelWrapValidator[_ModelType]], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo]])rx   zLiteral['before']r5   zqCallable[[_AnyModeBeforeValidator], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo]])rx   zLiteral['after']r5   z}Callable[[_AnyModelAfterValidator[_ModelType]], _decorators.PydanticDescriptorProxy[_decorators.ModelValidatorDecoratorInfo]])rx   z"Literal['wrap', 'before', 'after']r5   r   )Rr;   Ú
__future__r   Ú_annotationsÚdataclassesÚsysÚ	functoolsr   Útypesr   Útypingr   r   r   r	   r
   r   r   Úpydantic_corer   Ú_core_schemaÚtyping_extensionsr   r   r   Ú r   r4   Ú	_internalr   r   r   r   Úannotated_handlersÚerrorsr   Úversion_infor   Úinspect_validatorr&   Ú	dataclassÚ
slots_truer   r?   rE   rX   r`   rk   rr   r'   r)   Ú_V2Validatorr[   Ú_V2WrapValidatorrÐ   Ústaticmethodru   r<   rv   rw   r~   r�   r”   r•   ÚValidatorFunctionWrapHandlerr˜   r�   r£   r¦   rª   r®   r²   ÚModelAfterValidatorWithoutInfoÚValidationInfoÚModelAfterValidatorÚ_AnyModelWrapValidatorÚ_AnyModeBeforeValidatorÚ_AnyModelAfterValidatorr¶   r½   r¿   rÔ   r=   r2   r0   ú<module>rü      s0  ðÚ Hå 2ã Û 
Ý #Ý ß O× OÑ Oå %Ý 5ß ;Ñ ;å ;ß RÓ RÝ 4Ý %à×Ñ�gÒÞ*åà ×2Ñ2Ð ð €×ÑÑE˜dÐEÐ&9×&DÑ&DÑE÷4Uð 4Uó Fð4Uðn €×ÑÑE˜dÐEÐ&9×&DÑ&DÑE÷(Vð (Vó Fð(VðV €×ÑÑE˜dÐEÐ&9×&DÑ&DÑE÷0cð 0có Fð0cðf €×ÑÑE˜dÐEÐ&9×&DÑ&DÑE÷/Tð /Tó Fð/Tñd ô xô ô ô ô	 Hô 	ð ØØ×.Ñ.Ø$Ø×,Ñ,ð	.ñ€Lð Ø!Ø×2Ñ2ð	4ñÐð
 ,1°¸SÀ#Às¸]Ñ1KÈ\ÐZ]Ð_bÐZbÑMcÐerÐsvÑewÐ1wÑ+xÐ˜yÓxá)0Ø,ØØ!ó*Ð&ñ
 #Ð#9Ð;KÐMfÓgÐð 
ð
 14Ø #ñØðð ðð .ð	ð
 ðð Xòó 
ðð 
ð !$ñØðð ðð ð	ð
 ðð <òó 
ðð ")Ð)KÑ!LÐ �YÓ Lð !(Ø $ñ[Øð[ð ð[ð ð	[ð
 ð[ð ó[ñ| �\Ó"€
Ù�~°Ô6€ô	 × IÑ IÈ8ÐT`ÑKaô 	ô H¨ZÑ$8ô ô$˜ *Ñ-ô ô"¨(ô ô  hô ô"˜xô ô˜8ô ð  "*¨:¨,¸
Ð*BÑ!CÐ ðð  
¨L×,GÑ,GÐHÈ*ÐTÑUÐ Ø ZàÐ1°*Ñ=Ð?\Ð]gÑ?hÐhÑiÐ ØØÐ2Ð4WÐYxÐxñÐ ð  Ð 3°JÑ ?ÐA_Ð`jÑAkÐ kÑlÐ ð 
ðà
ððòó 
ðð 
ðà
ðð wòó 
ðð 
ðà
ððòó 
ðð6à
,ð6ð 	ó6ñr �)Ó
€ñ à˜7 C˜<Ñ(�Jð €[×ÑÑ<Ð0×;Ñ;Ñ<÷9#ð 9#ó =ð9#ñx Ø˜w¨˜|Ñ,�Nð €[×ÑÑ<Ð0×;Ñ;Ñ<÷#ð #ó =ñ#r2   