Ë
    /æj^+ ã                  ó,  — U d Z ddlmZ ddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddl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 ddlmZ dd	lmZ dd
lmZ ddlmZm Z  ddl!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/m0Z0m1Z1m2Z2 ddlm3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z; ddl<m=Z= ddl>m?Z? ddl@Z@ddlAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJ ddl@mKZKmLZLmMZMmNZN ddlOmPZP ddlQmRZRmSZSmTZT ddlUmVZVmWZW ddlXmYZYmZZZ ddl[m\Z\m]Z]m^Z^m_Z_ ddl`maZambZbmcZcmdZdmeZe ddlfmgZgmhZhmiZimjZjmkZk ddllmmZm ddlnmoZo ddlmpZpmqZqmrZrmsZs d d!ltmuZumvZvmwZwmxZxmyZymzZz d d"l{m|Z|m}Z} d d#l~mZm€Z€ d d$l�m‚Z‚mƒZƒ d d%lum„Z„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&l‘m’Z’ d d'l“m”Z”m•Z•m–Z–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¡ d d+l¢m£Z£ d d,l¤m¥Z¥m¦Z¦ d d-l§m¨Z¨m©Z© d d.lªm«Z« d d/l¬m­Z­m®Z® e3r dd0l¯m°Z°m±Z± dd1l²m³Z³ dd2l,m´Z´ d d3lµm¶Z¶ d d4lªm·Z· e�jp                  d5k\  rdd6l¹mºZº e�jp                  d7k\  Z»e‹e‡z  e†z  Z¼d8e½d9<    e9d:e¼¬;«      Z¾e„e‹   e„e‡   z  e„e†   z  Z¿eYZÀd8e½d<<   ee4eÀgeIj†                  f   ZÁd8e½d=<   eeÂeÃe4ge7d>   dz  f   ZÄd8e½d?<   e�jŠ                  eÆgZÇd@e½dA<   e0e.z  e1z  ez  ZÈd8e½dB<    eLeÈ«      ZÉdCdDdEdFeGfdGdHdIdJdKdLdMdNdOgZÊdPe½dQ<   	 ehegejekdRœZËdSe½dT<   	 	 	 	 	 	 dydU„ZÌdzdV„ZÍ	 	 	 	 	 	 d{dW„ZÎ	 	 	 	 	 	 d|dX„ZÏ	 	 	 	 d}dY„ZÐeÑeÒe4   e^f   ZÓ	 	 	 	 	 	 	 	 d~dZ„ZÔeaebecedfZÕ	 dd[„ZÖ G d\„ d]e×«      ZØ G d^„ d_«      ZÙd`„ da„ db„ dc„ dd„ de„ df„ dg„ dhœZÚdie½dj<   	 	 	 	 	 	 d€dk„ZÛd�dl„ZÜ	 	 	 	 d‚dm„ZÝ	 	 	 	 	 	 	 	 dƒdn„ZÞd„do„Zßd…dp„Zàd†dr„Zá	 	 	 	 d‡ds„Zâ G dt„ dq«      Zã G du„ dv«      Zä G dw„ dx«      Zåy)ˆz-Convert python types to pydantic-core schema.é    )ÚannotationsN)ÚCallableÚ	GeneratorÚIterableÚIteratorÚMapping)Úcontextmanager)Úcopy)ÚDecimal)ÚEnum)ÚFraction)Úpartial)Ú	ParameterÚ_ParameterKind)ÚIPv4AddressÚIPv4InterfaceÚIPv4NetworkÚIPv6AddressÚIPv6InterfaceÚIPv6Network)Úchain)Ú
attrgetter)ÚEllipsisTypeÚFunctionTypeÚGenericAliasÚ
LambdaTypeÚ
MethodTypeÚNoneType)	ÚTYPE_CHECKINGÚAnyÚClassVarÚ
ForwardRefÚLiteralÚ	TypeAliasÚTypeVarÚcastÚoverload)ÚUUID)ÚZoneInfo)	ÚMISSINGÚ
CoreSchemaÚMultiHostUrlÚPydanticCustomErrorÚ$PydanticSerializationUnexpectedValueÚPydanticUndefinedÚUrlÚcore_schemaÚto_jsonable_python)ÚTypeAliasTypeÚget_argsÚ
get_originÚis_typeddict)Útyping_objects)ÚAnnotationSourceÚget_literal_valuesÚis_union_originé   )ÚAliasChoicesÚ	AliasPath)ÚGetCoreSchemaHandlerÚGetJsonSchemaHandler)Ú
ConfigDictÚJsonDictÚJsonEncoderÚJsonSchemaExtraCallable)ÚPydanticForbiddenQualifierÚPydanticInvalidForJsonSchemaÚPydanticSchemaGenerationErrorÚPydanticUndefinedAnnotationÚPydanticUserError)ÚAfterValidatorÚBeforeValidatorÚFieldValidatorModesÚPlainValidatorÚWrapValidator)ÚJsonSchemaValue)Úversion_short)ÚArbitraryTypeWarningÚPydanticDeprecatedSince20ÚTypedDictExtraConfigWarningÚ UnsupportedFieldAttributeWarningé   )Ú_decoratorsÚ_discriminated_unionÚ_known_annotated_metadataÚ_reprÚ
_type_refsÚ_typing_extra)ÚConfigWrapperÚConfigWrapperStack)ÚCoreMetadataÚupdate_core_metadata)Úget_refÚ%is_list_like_schema_with_items_schema)Ú	DecoratorÚDecoratorInfosÚFieldSerializerDecoratorInfoÚFieldValidatorDecoratorInfoÚModelSerializerDecoratorInfoÚModelValidatorDecoratorInfoÚRootValidatorDecoratorInfoÚValidatorDecoratorInfoÚget_attribute_from_basesÚinspect_field_serializerÚinspect_model_serializerÚinspect_validatorÚmro)Úextract_docstrings_from_cls)Úcollect_dataclass_fieldsÚrebuild_dataclass_fieldsÚrebuild_model_fieldsÚtakes_validated_data_argumentÚupdate_field_from_config)ÚPydanticRecursiveRef)Úget_model_typevars_mapÚget_standard_typevars_mapÚreplace_types)Úimport_cached_base_modelÚimport_cached_field_info)ÚMockCoreSchema)ÚNamespacesTupleÚ
NsResolver)ÚMissingDefinitionErrorÚgather_schemas_for_cleaning)ÚCallbackGetCoreSchemaHandler)Úlenient_issubclassÚsmart_deepcopy)ÚComputedFieldInfoÚ	FieldInfo©Ú	BaseModel)ÚDiscriminator)ÚStandardDataclass)ÚGetJsonSchemaFunction©é   é   )Ú
frozendict)rŠ   é   r$   ÚFieldDecoratorInfoÚFieldDecoratorInfoType)ÚboundÚModifyCoreSchemaWrapHandlerÚGetCoreSchemaFunctionÚskipÚParametersCallbackz
list[type]ÚTUPLE_TYPESÚValidateCallSupportedTypes)ÚaliasN)Úvalidation_aliasN)Úserialization_aliasNÚdefault)Údefault_factoryN)ÚexcludeN)Ú
deprecatedN)ÚreprT)Úvalidate_defaultN)ÚfrozenN)ÚinitN)Úinit_varN)Úkw_onlyNúlist[tuple[str, Any]]Ú+UNSUPPORTED_STANDALONE_FIELDINFO_ATTRIBUTES)ÚbeforeÚafterÚplainÚwrapzbdict[FieldValidatorModes, type[BeforeValidator | AfterValidator | PlainValidator | WrapValidator]]Ú_mode_to_validatorc                ó.   — | j                   }d|v xs ||v S )z×Check if field name is in validator fields.

    Args:
        info: The field info.
        field: The field name to check.

    Returns:
        `True` if field name is in validator fields, `False` otherwise.
    Ú*)Úfields)ÚinfoÚfieldr­   s      úf/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/pydantic/_internal/_generate_schema.pyÚ)check_validator_fields_against_field_namer±   ®   s    € ð �[‰[€FØ�&ˆ=Ò+˜E V˜OÐ+ó    c           	     ó  — t        |«      }| D ]{  }d|j                  j                  v rŒ|j                  j                  du rŒ5|j                  j                  D ].  }||vsŒt	        d|j
                  › d|j                  › d�d¬«      ‚ Œ} y)	av  Check if the defined fields in decorators exist in `fields` param.

    It ignores the check for a decorator if the decorator has `*` as field or `check_fields=False`.

    Args:
        decorators: An iterable of decorators.
        fields: An iterable of fields name.

    Raises:
        PydanticUserError: If one of the field names does not exist in `fields` param.
    r¬   Fz*Decorators defined with incorrect fields: ú.zO (use check_fields=False if you're inheriting from the model and intended this)zdecorator-missing-field©ÚcodeN)Úsetr®   r­   Úcheck_fieldsrH   Úcls_refÚcls_var_name)Ú
decoratorsr­   Údecr¯   s       r°   Úcheck_decorator_fields_existr½   ¿   s”   € ô �‹[€FØò ˆØ�#—(‘(—/‘/Ñ!ØØ�8‰8× Ñ  EÑ)ØØ—X‘X—_‘_ò 	ˆEØ˜FÒ"Ü'Ø@ÀÇÁÀÈQÈs×O_ÑO_ÐN`Øeðfà2ôð ñ	ñr²   c                óZ   — | D �cg c]  }t        |j                  |«      sŒ|‘Œ c}S c c}w ©N)r±   r®   )Úvalidator_functionsr¯   r¼   s      r°   Ú$filter_field_decorator_info_by_fieldrÁ   Ú   s*   € ð /Öm�CÔ2[Ð\_×\dÑ\dÐfkÕ2lŠCÒmÐmùÒms   …(¡(c                ó  — |s| S | d   dk(  rt        | d   |«      | d<   | S | d   dk(  rd| v rt        | d   |«      | d<   | S | d   dk(  r-| j                  d«      x}�t        | d   |   |«      | d   |<   | S t        | «      r5| j                  dt	        j
                  «       «      }t        ||«      | d<   | S | d   dk(  r5| j                  d	t	        j
                  «       «      }t        ||«      | d	<   | S t        d
| d   › �«      ‚)NÚtypeÚnullableÚschemaúmissing-sentinelÚtupleÚvariadic_item_indexÚitems_schemaÚdictÚvalues_schemazO`@validator(..., each_item=True)` cannot be applied to fields with a schema of )Úapply_each_item_validatorsÚgetÚapply_validatorsr`   r1   Ú
any_schemaÚ	TypeError)rÅ   Úeach_item_validatorsrÈ   Úinner_schemas       r°   rÌ   rÌ   à   sR  € ñ  Øˆð
 ˆf�~˜Ò#Ü5°f¸XÑ6FÐH\Ó]ˆˆxÑØˆØ	�‰Ð-Ò	-°(¸fÑ2DÜ5°f¸XÑ6FÐH\Ó]ˆˆxÑØˆØ	�‰˜7Ò	"Ø#)§:¡:Ð.CÓ#DÐDÐÐQÜ:JØ�~Ñ&Ð':Ñ;Ø$ó;ˆF�>Ñ"Ð#6Ñ7ð €Mô 
/¨vÔ	6Ø—z‘z .´+×2HÑ2HÓ2JÓKˆÜ!1°,Ð@TÓ!Uˆˆ~Ñð €Mð 
�‰˜6Ò	!Ø—z‘z /´;×3IÑ3IÓ3KÓLˆÜ"2°<ÐAUÓ"VˆˆÑð
 €Mô Ø]Ð^dÐekÑ^lÐ]mÐnó
ð 	
r²   c                ó*  — | j                   | j                  t        | j                  «      xs | j                  dk(  xs d t	        | j
                  «      dœ}|j                  «       D ��ci c]  \  }}|€Œ	||“Œ }}}|xs d | j                  fS c c}}w )NÚ )ÚtitleÚdescriptionr�   Úexamples)rÕ   rÖ   Úboolr�   r2   r×   ÚitemsÚjson_schema_extra)r®   Újson_schema_updatesÚkÚvs       r°   Ú)_extract_json_schema_info_from_field_inforÞ     s�   € ð —‘Ø×'Ñ'Ü˜4Ÿ?™?Ó+ÒL¨t¯©À"Ñ/DÒLÈÜ& t§}¡}Ó5ñ	Ðð -@×,EÑ,EÓ,G×Y¡D A qÈ1É=˜1˜a™4ÐYÐÑYØÒ' 4¨×)?Ñ)?Ð@Ð@ùó Zs   Á*
BÁ5Bc                ó"  — | s|S d|v r|S |gt        |d|j                  j                  «      dd ¢­D ]Y  }| j                  |«      }|€Œt	        j
                  dt        «       › d�t        «       t        j                  |d¬«      |d<   |c S  |S )	a  Iterate over the json_encoders and add the first matching encoder to the schema.

    Args:
        json_encoders: A dictionary of types and their encoder functions.
        tp: The type to check for a matching encoder.
        schema: The schema to add the encoder to.
    ÚserializationÚ__mro__NéÿÿÿÿzH`json_encoders` is deprecated. See https://pydantic.dev/docs/validation/z</concepts/serialization/#custom-serializers for alternativesÚjson)Ú	when_used)
ÚgetattrÚ	__class__rá   rÍ   ÚwarningsÚwarnrO   rQ   r1   Ú$plain_serializer_function_ser_schema)Újson_encodersÚtprÅ   ÚbaseÚencoders        r°   Ú,_add_custom_serialization_from_json_encodersrî     s³   € ñ ØˆØ˜&Ñ Øˆð ÐH”g˜b )¨R¯\©\×-AÑ-AÓBÀ3ÀBÐGÑHò ˆØ×#Ñ# DÓ)ˆØˆ?Øä�‰ØVÔWdÓWfÐVgð  hdð  eÜ%ô	
ô #.×"RÑ"RÐSZÐflÔ"mˆˆÑØŠðð €Mr²   c                óä  — t        | «      D ]`  }|j                  j                  d«      }|j                  j                  dt        j                  «      }|€t        j                  |«      rŒ` n dt        j                  dfS |�|t        j                  dfS t        j                  t        |«      «      }|rt        |«      d   }t        j                  |«      rdt        j                  dfS d||fS )aª  Return whether the TypedDict class is closed, the type of its extra items and whether
    they are read-only (as per PEP 728).

    The `__closed__` and `__extra_items__` attributes only reflect the arguments passed to the class itself,
    so the first class in the (virtual) MRO explicitly specifying one of them is used.
    `extra_items=Never` is normalized to `closed=True`, and the `ReadOnly` qualifier is stripped.
    Ú
__closed__Ú__extra_items__Fr   T)rm   Ú__dict__rÍ   Útyping_extensionsÚNoExtraItemsr7   Úis_noextraitemsÚis_readonlyr5   r4   Úis_never)Útyped_dict_clsrì   ÚclosedÚextra_itemsÚreadonlys        r°   Ú_get_typed_dict_extra_itemsrü   A  sè   € ô �NÓ#ò <ˆà—‘×"Ñ" <Ó0ˆØ—m‘m×'Ñ'Ð(9Ô;L×;YÑ;YÓZˆØÐ¤^×%CÑ%CÀKÕ%PÙð<ð Ô'×4Ñ4°eÐ;Ð;àÐàÔ(×5Ñ5°uÐ<Ð<ä×)Ñ)¬*°[Ó*AÓB€HÙÜ˜{Ó+¨AÑ.ˆô ×Ñ˜{Ô+ØÔ&×3Ñ3°UÐ:Ð:Ø�+˜xÐ'Ð'r²   c                  ó   — e Zd ZdZy)ÚInvalidSchemaErrorzThe core schema is invalid.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r²   r°   rþ   rþ   `  s   „ Ú%r²   rþ   c                  ó  ‡ — e Zd ZU dZdZ	 	 d¥	 	 	 	 	 	 	 d¦d„Zi ed„ “ed„ “ed„ “e	d„ “e
d	„ “ed
„ “ed„ “ej                  d„ “ej                  d„ “ej                  d„ “ej                   d„ “ed„ “ed„ “ed„ “ed„ “ed„ “dd„ “i ed„ “ed„ “ed„ “ed„ “ed„ “ed„ “ed„ “ed„ “ej>                  j@                  d„ “e!d„ “ej>                  jD                  d „ “ej>                  jF                  d!„ “ej>                  jH                  d"„ “ejJ                  d#„ “ej>                  jL                  d$„ “ej>                  jN                  d%„ “ej>                  jP                  d&„ “¥i ej>                  jR                  d'„ “ejT                  d(„ “ejV                  d)„ “ejX                  d*„ “ej>                  jZ                  d+„ “ej>                  j\                  d,„ “e/d-„ “e0d.„ “e1d/„ “e2d0„ “e3d1„ “e4d2„ “e5jl                  d3„ “e7jp                  d4„ “e7jr                  d5„ “e7jt                  d6„ “e7jv                  d7„ “¥e7jx                  d8„ e7jz                  d9„ e>j~                  d:„ e@d;„ i¥ZAd<eBd=<   i ed>„ “ed?„ “ed@„ “edA„ “e!dB„ “edC„ “ej>                  jF                  dD„ “ej>                  j@                  dE„ “ej>                  jD                  dF„ “ejJ                  dG„ “ej>                  jP                  dH„ “ej>                  jR                  dI„ “ejT                  dJ„ “ejV                  dK„ “ejX                  dL„ “e5jl                  dM„ “e7jp                  dN„ “e7jr                  dO„ e7jt                  dP„ e7jv                  dQ„ e7jx                  dR„ e7jz                  dS„ ej>                  jH                  dT„ ej>                  jL                  dU„ ej>                  jN                  dV„ e>j~                  dW„ ej>                  jZ                  dX„ i
¥ZCd<eBdY<   eDjŠ                  dZk\  rd[„ eAeF<   d\„ eCeF<   d§ˆ fd]„ZGeHd¨d^„«       ZIeHd©d_„«       ZJeHdªd`„«       ZKd«da„ZLd¬db„ZMd¬dc„ZNd¬dd„ZOd­de„ZPd«df„ZQd«dg„ZRd®dh„ZSd¯di„ZTd°dj„ZUd«dk„ZVd±dl„ZWd¯dm„ZXd²dn„ZY	 	 	 	 	 	 d³do„ZZd´dp„Z[dµdq„Z\	 	 	 	 d¶dr„Z]d·ds„Z^d¸dt„Z_d¹du„Z`d¸dv„Zaebdºdw„«       Zcebd»dx„«       Zcd¼d½dy„Zcd¸dz„Zdd¾d{„Zeeffd¿d|„ZgdÀd}„ZhdÁd~„Zidd€œ	 	 	 	 	 	 	 	 	 dÂd�„Zj	 	 	 	 	 	 	 	 dÃd‚„Zk	 	 	 	 	 	 	 	 dÄdƒ„Zl	 	 	 	 	 	 	 	 dÅd„„ZmdÆd…„ZndÇd†„ZodÈd‡„ZpdÉdˆ„ZqdÊd‰„Zresjè                  f	 	 	 	 	 	 	 dËdŠ„Zuesjè                  df	 	 	 	 	 	 	 	 	 	 	 dÌd‹„Zvesjè                  f	 	 	 	 	 	 	 	 	 	 	 dÍdŒ„ZwdÎd�„ZxdÏdŽ„ZydÏd�„ZzdÆd�„Z{dÐd‘„Z|dÑd’„Z}dÒd“„Z~dÓd”„ZdÏd•„Z€	 	 	 	 	 	 dÔd–„Z�dÕd—„Z‚	 dÖ	 	 	 	 	 d×d˜„Zƒ	 dÖ	 	 	 	 	 dØd™„Z„dÙdš„Z…	 	 	 	 	 	 dÚd›„Z†dÛdœ„Z‡d�„ df	 	 	 	 	 	 	 	 	 dÜdž„Zˆ	 dÝ	 	 	 	 	 	 	 dÞdŸ„Z‰	 	 	 	 	 	 dßd „ZŠdàd¡„Z‹	 d¼	 	 	 	 	 	 	 	 	 dád¢„ZŒ	 	 	 	 	 	 dâd£„Z�	 	 	 	 	 	 dãd¤„ZŽˆ xZ�S )äÚGenerateSchemaz\Generate core schema for a Pydantic model, dataclass and types like `str`, `datetime`, ... .)Ú_config_wrapper_stackÚ_ns_resolverÚ_typevars_mapÚfield_name_stackÚmodel_type_stackÚdefsNc                ó²   — t        |«      | _        |xs
 t        «       | _        || _        t        «       | _        t        «       | _        t        «       | _
        y r¿   )r\   r  r|   r  r  Ú_FieldNameStackr	  Ú_ModelTypeStackr
  Ú_Definitionsr  )ÚselfÚconfig_wrapperÚns_resolverÚtypevars_maps       r°   Ú__init__zGenerateSchema.__init__p  sG   € ô &8¸Ó%GˆÔ"Ø'Ò7¬:«<ˆÔØ)ˆÔÜ /Ó 1ˆÔÜ /Ó 1ˆÔÜ “Nˆ�	r²   c                ó*   — t        j                  «       S r¿   )r1   Ú
str_schema©r  Úobjs     r°   ú<lambda>zGenerateSchema.<lambda>�  ó   € œ{×5Ñ5Ó7€ r²   c                ó*   — t        j                  «       S r¿   )r1   Úbytes_schemar  s     r°   r  zGenerateSchema.<lambda>‚  ó   € ¤×!9Ñ!9Ó!;€ r²   c                ó*   — t        j                  «       S r¿   )r1   Ú
int_schemar  s     r°   r  zGenerateSchema.<lambda>ƒ  r  r²   c                ó*   — t        j                  «       S r¿   )r1   Úfloat_schemar  s     r°   r  zGenerateSchema.<lambda>„  r  r²   c                ó*   — t        j                  «       S r¿   )r1   Úbool_schemar  s     r°   r  zGenerateSchema.<lambda>…  ó   € ¤× 7Ñ 7Ó 9€ r²   c                ó*   — t        j                  «       S r¿   )r1   Úcomplex_schemar  s     r°   r  zGenerateSchema.<lambda>†  ó   € ¤;×#=Ñ#=Ó#?€ r²   c                ó*   — t        j                  «       S r¿   )r1   rÏ   r  s     r°   r  zGenerateSchema.<lambda>‡  s   € ¤+×"8Ñ"8Ó":€ r²   c                ó*   — t        j                  «       S r¿   )r1   Údate_schemar  s     r°   r  zGenerateSchema.<lambda>ˆ  ó   € ¬×)@Ñ)@Ó)B€ r²   c                ó*   — t        j                  «       S r¿   )r1   Údatetime_schemar  s     r°   r  zGenerateSchema.<lambda>‰  s   € ¬[×-HÑ-HÓ-J€ r²   c                ó*   — t        j                  «       S r¿   )r1   Útime_schemar  s     r°   r  zGenerateSchema.<lambda>Š  r+  r²   c                ó*   — t        j                  «       S r¿   )r1   Útimedelta_schemar  s     r°   r  zGenerateSchema.<lambda>‹  s   € ¬k×.JÑ.JÓ.L€ r²   c                ó*   — t        j                  «       S r¿   )r1   Údecimal_schemar  s     r°   r  zGenerateSchema.<lambda>Œ  r'  r²   c                ó*   — t        j                  «       S r¿   )r1   Úuuid_schemar  s     r°   r  zGenerateSchema.<lambda>�  r$  r²   c                ó*   — t        j                  «       S r¿   )r1   Ú
url_schemar  s     r°   r  zGenerateSchema.<lambda>Ž  r  r²   c                ó*   — t        j                  «       S r¿   )r1   Úfraction_schemar  s     r°   r  zGenerateSchema.<lambda>�  s   € ¤K×$?Ñ$?Ó$A€ r²   c                ó*   — t        j                  «       S r¿   )r1   Úmulti_host_url_schemar  s     r°   r  zGenerateSchema.<lambda>�  s   € ¬×(IÑ(IÓ(K€ r²   c                ó*   — t        j                  «       S r¿   ©r1   Únone_schemar  s     r°   r  zGenerateSchema.<lambda>‘  r$  r²   c                ó*   — t        j                  «       S r¿   r=  r  s     r°   r  zGenerateSchema.<lambda>’  s   € ¤K×$;Ñ$;Ó$=€ r²   c                ó*   — t        j                  «       S r¿   )r1   Úmissing_sentinel_schemar  s     r°   r  zGenerateSchema.<lambda>“  s   € ¤;×#FÑ#FÓ#H€ r²   c                ó*   — t        j                  «       S r¿   )r1   Úellipsis_schemar  s     r°   r  zGenerateSchema.<lambda>”  s   € ¬×(CÑ(CÓ(E€ r²   c                ó"   — | j                  «       S r¿   )Ú_type_schemar  s     r°   r  zGenerateSchema.<lambda>•  s   €  × 1Ñ 1Ó 3€ r²   c                ó6   — | j                  t        t        «      S r¿   )Ú_dict_schemar    r  s     r°   r  zGenerateSchema.<lambda>–  s   €  × 1Ñ 1´#´sÓ ;€ r²   c                ó$   — | j                  |«      S r¿   ©Ú_tuple_schemar  s     r°   r  zGenerateSchema.<lambda>—  ó   €  ×!3Ñ!3°CÓ!8€ r²   c                ó,   — | j                  t        «      S r¿   ©Ú_list_schemar    r  s     r°   r  zGenerateSchema.<lambda>˜  s   €  × 1Ñ 1´#Ó 6€ r²   c                ó,   — | j                  t        «      S r¿   ©Ú_set_schemar    r  s     r°   r  zGenerateSchema.<lambda>™  s   € ˜t×/Ñ/´Ó4€ r²   c                ó,   — | j                  t        «      S r¿   rP  r  s     r°   r  zGenerateSchema.<lambda>š  s   € °d×6FÑ6FÄsÓ6K€ r²   c                ó,   — | j                  t        «      S r¿   ©Ú_frozenset_schemar    r  s     r°   r  zGenerateSchema.<lambda>›  s   €  T×%;Ñ%;¼CÓ%@€ r²   c                ó,   — | j                  t        «      S r¿   rT  r  s     r°   r  zGenerateSchema.<lambda>œ  s   € ¨t×/EÑ/EÄcÓ/J€ r²   c                ó,   — | j                  t        «      S r¿   rM  r  s     r°   r  zGenerateSchema.<lambda>�  s   € ¸4×;LÑ;LÌSÓ;Q€ r²   c                ó,   — | j                  t        «      S r¿   )Ú_sequence_schemar    r  s     r°   r  zGenerateSchema.<lambda>ž  s   € °D×4IÑ4IÌ#Ó4N€ r²   c                ó,   — | j                  t        «      S r¿   )Ú_deque_schemar    r  s     r°   r  zGenerateSchema.<lambda>Ÿ  s   € ¨T×-?Ñ-?ÄÓ-D€ r²   c                ó$   — | j                  |«      S r¿   ©Ú_iterable_schemar  s     r°   r  zGenerateSchema.<lambda>   ó   € °D×4IÑ4IÈ#Ó4N€ r²   c                ó$   — | j                  |«      S r¿   r]  r  s     r°   r  zGenerateSchema.<lambda>¡  ó   € °T×5JÑ5JÈ3Ó5O€ r²   c                ó8   — | j                  |t        t        «      S r¿   ©Ú_mapping_schemar    r  s     r°   r  zGenerateSchema.<lambda>¢  ó   € °4×3GÑ3GÈÌSÔRUÓ3V€ r²   c                ó8   — | j                  |t        t        «      S r¿   rc  r  s     r°   r  zGenerateSchema.<lambda>£  s   € ¸$×:NÑ:NÈsÔTWÔY\Ó:]€ r²   c                ó6   — | j                  t        t        «      S r¿   )Ú_ordered_dict_schemar    r  s     r°   r  zGenerateSchema.<lambda>¤  s   € °4×3LÑ3LÌSÔRUÓ3V€ r²   c                ó8   — | j                  |t        t        «      S r¿   rc  r  s     r°   r  zGenerateSchema.<lambda>¥  re  r²   c                ó,   — | j                  t        «      S r¿   )Ú_counter_schemar    r  s     r°   r  zGenerateSchema.<lambda>¦  s   € ¨t×/CÑ/CÄCÓ/H€ r²   c                ó*   — t        j                  «       S r¿   ©r1   Úcallable_schemar  s     r°   r  zGenerateSchema.<lambda>§  ó   € ´K×4OÑ4OÓ4Q€ r²   c                ó"   — | j                  «       S r¿   )Ú_hashable_schemar  s     r°   r  zGenerateSchema.<lambda>¨  s   € °D×4IÑ4IÓ4K€ r²   c                ó$   — | j                  |«      S r¿   ©Ú
_ip_schemar  s     r°   r  zGenerateSchema.<lambda>©  ó   €  t§¡°sÓ';€ r²   c                ó$   — | j                  |«      S r¿   rs  r  s     r°   r  zGenerateSchema.<lambda>ª  ó   € ¨¯©¸Ó)=€ r²   c                ó$   — | j                  |«      S r¿   rs  r  s     r°   r  zGenerateSchema.<lambda>«  ru  r²   c                ó$   — | j                  |«      S r¿   rs  r  s     r°   r  zGenerateSchema.<lambda>¬  ru  r²   c                ó$   — | j                  |«      S r¿   rs  r  s     r°   r  zGenerateSchema.<lambda>­  rw  r²   c                ó$   — | j                  |«      S r¿   rs  r  s     r°   r  zGenerateSchema.<lambda>®  ru  r²   c                ó.   — | j                  |t        «      S r¿   ©Ú_path_schemar    r  s     r°   r  zGenerateSchema.<lambda>¯  s   €  t×'8Ñ'8¸¼cÓ'B€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>°  s   € ¨×(9Ñ(9¸#¼sÓ(C€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>±  s   € ¨D×,=Ñ,=¸cÄ3Ó,G€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>²  s   € ¨T×->Ñ->¸sÄCÓ-H€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>³  s   € ¨t×/@Ñ/@ÀÄcÓ/J€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>´  s   € °×1BÑ1BÀ3ÌÓ1L€ r²   c                ó.   — | j                  |t        «      S r¿   r}  r  s     r°   r  zGenerateSchema.<lambda>µ  s   € °4×3DÑ3DÀSÌ#Ó3N€ r²   c                ó$   — | j                  |«      S r¿   ©Ú_pattern_schemar  s     r°   r  zGenerateSchema.<lambda>¶  ó   €  d×&:Ñ&:¸3Ó&?€ r²   c                ó"   — | j                  «       S r¿   )Ú_zoneinfo_schemar  s     r°   r  zGenerateSchema.<lambda>·  s   €  D×$9Ñ$9Ó$;€ r²   zLClassVar[dict[Any, Callable[[GenerateSchema, Any], core_schema.CoreSchema]]]Ú	_handlersc                ó$   — | j                  |«      S r¿   rI  r  s     r°   r  zGenerateSchema.<lambda>»  rK  r²   c                óB   — | j                  | j                  |«      «      S r¿   ©rN  Ú_get_first_arg_or_anyr  s     r°   r  zGenerateSchema.<lambda>¼  s   €  × 1Ñ 1°$×2LÑ2LÈSÓ2QÓ R€ r²   c                ó>   —  | j                   | j                  |«      Ž S r¿   )rG  Ú_get_first_two_args_or_anyr  s     r°   r  zGenerateSchema.<lambda>½  s    € Ð 1 × 1Ñ 1°4×3RÑ3RÐSVÓ3WÐ X€ r²   c                óB   — | j                  | j                  |«      «      S r¿   ©rQ  r�  r  s     r°   r  zGenerateSchema.<lambda>¾  s   € ˜t×/Ñ/°×0JÑ0JÈ3Ó0OÓP€ r²   c                óB   — | j                  | j                  |«      «      S r¿   ©rU  r�  r  s     r°   r  zGenerateSchema.<lambda>¿  s   €  T×%;Ñ%;¸D×<VÑ<VÐWZÓ<[Ó%\€ r²   c                ó$   — | j                  |«      S r¿   )Ú_subclass_schemar  s     r°   r  zGenerateSchema.<lambda>À  s   €  × 5Ñ 5°cÓ :€ r²   c                óB   — | j                  | j                  |«      «      S r¿   rŽ  r  s     r°   r  zGenerateSchema.<lambda>Á  s   € ¸4×;LÑ;LÈT×MgÑMgÐhkÓMlÓ;m€ r²   c                óB   — | j                  | j                  |«      «      S r¿   r“  r  s     r°   r  zGenerateSchema.<lambda>Â  s   € °d×6FÑ6FÀt×GaÑGaÐbeÓGfÓ6g€ r²   c                óB   — | j                  | j                  |«      «      S r¿   r•  r  s     r°   r  zGenerateSchema.<lambda>Ã  s   € ¨t×/EÑ/EÀd×F`ÑF`ÐadÓFeÓ/f€ r²   c                óB   — | j                  | j                  |«      «      S r¿   )r[  r�  r  s     r°   r  zGenerateSchema.<lambda>Ä  s   € ¨T×-?Ñ-?À×@ZÑ@ZÐ[^Ó@_Ó-`€ r²   c                óv   —  | j                   t        j                  j                  g| j	                  |«      ¢­Ž S r¿   )rd  ÚcollectionsÚabcr   r‘  r  s     r°   r  zGenerateSchema.<lambda>Å  s4   € Ð3G°4×3GÑ3GÜ�O‰O×#Ñ#ð4
Ø&*×&EÑ&EÀcÓ&Jò4
€ r²   c                óv   —  | j                   t        j                  j                  g| j	                  |«      ¢­Ž S r¿   )rd  r�  rž  ÚMutableMappingr‘  r  s     r°   r  zGenerateSchema.<lambda>È  s4   € Ð:N¸$×:NÑ:NÜ�O‰O×*Ñ*ð;
Ø-1×-LÑ-LÈSÓ-Qò;
€ r²   c                ó>   —  | j                   | j                  |«      Ž S r¿   )rh  r‘  r  s     r°   r  zGenerateSchema.<lambda>Ë  s    € Ð3L°4×3LÑ3LÈd×NmÑNmÐnqÓNrÐ3s€ r²   c                ób   —  | j                   t        j                  g| j                  |«      ¢­Ž S r¿   )rd  r�  Údefaultdictr‘  r  s     r°   r  zGenerateSchema.<lambda>Ì  s0   € Ð3G°4×3GÑ3GÜ×#Ñ#ð4
Ø&*×&EÑ&EÀcÓ&Jò4
€ r²   c                óB   — | j                  | j                  |«      «      S r¿   )rk  r�  r  s     r°   r  zGenerateSchema.<lambda>Ï  s   € ¨t×/CÑ/CÀD×D^ÑD^Ð_bÓDcÓ/d€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  ÚosÚPathLiker�  r  s     r°   r  zGenerateSchema.<lambda>Ð  s#   €  t×'8Ñ'8¼¿¹Àd×F`ÑF`ÐadÓFeÓ'f€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  ÚpathlibÚPathr�  r  s     r°   r  zGenerateSchema.<lambda>Ñ  s#   € ¨×(9Ñ(9¼'¿,¹,È×HbÑHbÐcfÓHgÓ(h€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  r©  ÚPurePathr�  r  s     r°   r  zGenerateSchema.<lambda>Ò  s&   € ¨D×,=Ñ,=¼g×>NÑ>NÐPT×PjÑPjÐknÓPoÓ,p€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  r©  Ú	PosixPathr�  r  s     r°   r  zGenerateSchema.<lambda>Ó  s&   € ¨T×->Ñ->¼w×?PÑ?PÐRV×RlÑRlÐmpÓRqÓ-r€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  r©  ÚWindowsPathr�  r  s     r°   r  zGenerateSchema.<lambda>Ô  s&   € ¨t×/@Ñ/@Ä×ATÑATÐVZ×VpÑVpÐqtÓVuÓ/v€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  r©  ÚPurePosixPathr�  r  s     r°   r  zGenerateSchema.<lambda>Õ  s'   € °×1BÑ1BÜ×!Ñ! 4×#=Ñ#=¸cÓ#Bó2
€ r²   c                ó`   — | j                  t        j                  | j                  |«      «      S r¿   )r~  r©  ÚPureWindowsPathr�  r  s     r°   r  zGenerateSchema.<lambda>Ø  s'   € °4×3DÑ3DÜ×#Ñ# T×%?Ñ%?ÀÓ%Dó4
€ r²   c                óB   — | j                  | j                  |«      «      S r¿   )rY  r�  r  s     r°   r  zGenerateSchema.<lambda>Û  s   € °D×4IÑ4IÈ$×JdÑJdÐehÓJiÓ4j€ r²   c                ó$   — | j                  |«      S r¿   r]  r  s     r°   r  zGenerateSchema.<lambda>Ü  r_  r²   c                ó$   — | j                  |«      S r¿   r]  r  s     r°   r  zGenerateSchema.<lambda>Ý  ra  r²   c                ó$   — | j                  |«      S r¿   r†  r  s     r°   r  zGenerateSchema.<lambda>Þ  rˆ  r²   c                ó*   — t        j                  «       S r¿   rm  r  s     r°   r  zGenerateSchema.<lambda>ß  ro  r²   Ú_generic_handlersr‰   c                ó6   — | j                  t        t        «      S r¿   )Ú_frozendict_schemar    r  s     r°   r  zGenerateSchema.<lambda>ã  s   € °$×2IÑ2IÌ#ÌsÓ2S€ r²   c                ó>   —  | j                   | j                  |«      Ž S r¿   )r¼  r‘  r  s     r°   r  zGenerateSchema.<lambda>ä  s!   € Ð:Q¸$×:QÑ:QÐSW×SrÑSrÐsvÓSwÐ:x€ r²   c                óZ   •— t         ‰| �  «        t        j                  dt        d¬«       y )NzeSubclassing `GenerateSchema` is not supported. The API is highly subject to change in minor versions.r;   )Ú
stacklevel)ÚsuperÚ__init_subclass__rç   rè   ÚUserWarning)Úclsræ   s    €r°   rÁ  z GenerateSchema.__init_subclass__æ  s#   ø€ Ü‰Ñ!Ô#Ü�‰ØsÜØö	
r²   c                ó.   — | j                   j                  S r¿   )r  Útail©r  s    r°   Ú_config_wrapperzGenerateSchema._config_wrapperî  s   € à×)Ñ)×.Ñ.Ð.r²   c                ó.   — | j                   j                  S r¿   )r  Útypes_namespacerÆ  s    r°   Ú_types_namespacezGenerateSchema._types_namespaceò  s   € à× Ñ ×0Ñ0Ð0r²   c                ó.   — | j                   j                  S r¿   )rÇ  Úarbitrary_types_allowedrÆ  s    r°   Ú_arbitrary_typeszGenerateSchema._arbitrary_typesö  s   € à×#Ñ#×;Ñ;Ð;r²   c                óJ   — t        j                  | j                  |«      «      S r¿   )r1   Úlist_schemaÚgenerate_schema©r  Ú
items_types     r°   rN  zGenerateSchema._list_schemaü  s   € Ü×&Ñ& t×';Ñ';¸JÓ'GÓHÐHr²   c                ój   — t        j                  | j                  |«      | j                  |«      «      S r¿   )r1   Údict_schemarÐ  ©r  Ú	keys_typeÚvalues_types      r°   rG  zGenerateSchema._dict_schemaÿ  s,   € Ü×&Ñ& t×';Ñ';¸IÓ'FÈ×H\ÑH\Ð]hÓHiÓjÐjr²   c                ój   — t        j                  | j                  |«      | j                  |«      «      S r¿   )r1   Úfrozendict_schemarÐ  rÕ  s      r°   r¼  z!GenerateSchema._frozendict_schema  s,   € Ü×,Ñ,¨T×-AÑ-AÀ)Ó-LÈd×NbÑNbÐcnÓNoÓpÐpr²   c                ój   — t        j                  | j                  |«      | j                  |«      «      S r¿   )r1   Úordered_dict_schemarÐ  rÕ  s      r°   rh  z#GenerateSchema._ordered_dict_schema  s-   € Ü×.Ñ.¨t×/CÑ/CÀIÓ/NÐPT×PdÑPdÐepÓPqÓrÐrr²   c                óp   — t        j                  | j                  |«      t        j                  «       «      S r¿   )r1   Úcounter_schemarÐ  r  )r  rÖ  s     r°   rk  zGenerateSchema._counter_schema  s)   € Ü×)Ñ)¨$×*>Ñ*>¸yÓ*IÌ;×KaÑKaÓKcÓdÐdr²   c                óJ   — t        j                  | j                  |«      «      S r¿   )r1   Ú
set_schemarÐ  rÑ  s     r°   rQ  zGenerateSchema._set_schema  s   € Ü×%Ñ% d×&:Ñ&:¸:Ó&FÓGÐGr²   c                óJ   — t        j                  | j                  |«      «      S r¿   )r1   Úfrozenset_schemarÐ  rÑ  s     r°   rU  z GenerateSchema._frozenset_schema  s   € Ü×+Ñ+¨D×,@Ñ,@ÀÓ,LÓMÐMr²   c                ó€  ‡‡	‡
‡‡— t        ‰j                  j                  «       «      Š	t        j                  ‰«      Š
‰j
                  sd nt        j                  ‰j
                  «      }|dk(  rd }‰j                  |dœŠ‰j                  «       D ��ci c]  \  }}|€Œ	||“Œ c}}Šd Št        ‰t        «      rdŠt        j                  d«      }nft        ‰t        «      rdŠt        j                  d«      }n>t        ‰t        «      rdŠt        j                  d«      }nt        j                   d„ «      }‰	r\dˆfd„}t        j"                  ‰‰	‰‰
d|gi¬	«      }| j$                  j&                  r!t        j(                  t+        d
«      ||¬«      }|S dˆ	ˆ
ˆˆˆfd„}t        j,                  ‰d|gi¬«      S c c}}w )NzAn enumeration.)rÕ   rÖ   ÚintÚstrÚfloatc                ó   — | S r¿   r  ©Úxs    r°   r  z-GenerateSchema._enum_schema.<locals>.<lambda>*  s   € ÐXY€ r²   c                ó\   •—  || «      }|j                  |«      }|j                  ‰«       |S r¿   )Úresolve_ref_schemaÚupdate)rÅ   ÚhandlerÚjson_schemaÚoriginal_schemaÚ
js_updatess       €r°   Úget_json_schemaz4GenerateSchema._enum_schema.<locals>.get_json_schema.  s0   ø€ Ù% f›o�Ø")×"<Ñ"<¸[Ó"I�Ø×&Ñ& zÔ2Ø"Ð"r²   Úpydantic_js_functions)Úsub_typeÚrefÚmetadataÚvalue)rà   c                óŠ   •—  |t        j                  ‰‰‰‰¬«      «      }|j                  |«      }|j                  ‰«       |S )N)rò  ró  )r1   Úenum_schemarê  rë  )	Ú_rì  rí  rî  ÚcasesÚenum_refÚ	enum_typerï  rò  s	       €€€€€r°   Úget_json_schema_no_casesz=GenerateSchema._enum_schema.<locals>.get_json_schema_no_casesE  sD   ø€ Ù%¤k×&=Ñ&=¸iÈÐYaÐgoÔ&pÓq�Ø")×"<Ñ"<¸[Ó"I�Ø×&Ñ& zÔ2Ø"Ð"r²   )rô  )rÅ   r+   rì  r?   ÚreturnrN   )rì  r?   rý  rN   )ÚlistÚ__members__ÚvaluesrY   Úenum_type_refr  ÚinspectÚcleandocrÿ   rÙ   Ú
issubclassrã  r1   Úsimple_ser_schemarä  rå  ré   r÷  rÇ  Úuse_enum_valuesÚ no_info_after_validator_functionr   Úis_instance_schema)r  rû  rÖ   rÜ   rÝ   Úvalue_ser_typerð  r÷  rü  rù  rú  rï  rò  s    `       @@@@r°   Ú_enum_schemazGenerateSchema._enum_schema  sŸ  ü€ Ü 	× 5Ñ 5× <Ñ <Ó >Ó?ˆä×+Ñ+¨IÓ6ˆØ"+×"3Ò"3‘d¼×9IÑ9IÈ)×J[ÑJ[Ó9\ˆàÐ,Ò,àˆKØ(×1Ñ1À+ÑNˆ
Ø'1×'7Ñ'7Ó'9×K™t˜q !¸Q¹]�a˜‘dÓKˆ
à:>ˆÜ�i¤Ô%ØˆHÜ4?×4QÑ4QÐRWÓ4X‰NÜ˜	¤3Ô'àˆHÜ(×:Ñ:¸5ÓA‰NÜ˜	¤5Ô)ØˆHÜ(×:Ñ:¸7ÓC‰Nô )×MÑMÉkÓZˆNáõ#ô &×1Ñ1ØØØ!ØØ1°OÐ3DÐEôˆKð ×#Ñ#×3Ò3Ü)×JÑJÜ˜wÓ'¨ÀNô�ð Ð÷#ñ #ô ×1Ñ1ØØ1Ð4LÐ3MÐNôð ùóm Ls   Â
F:ÂF:c                ó¢  ‡‡— ddl m}m} t        dt        dt
        dt        dt        dt        diŠdˆfd	„}t        j                  t        j                  |‰   «      t        j                  t        j                  ‰t        j                  «       «      t        j                  ‰«      ¬
«      t        j                   |dd¬«      dˆˆfd„gi¬«      S )NrT   )ÚIP_VALIDATOR_LOOKUPÚIpTypeÚipv4Úipv4networkÚipv4interfaceÚipv6Úipv6networkÚipv6interfacec           	     óœ   •— t        | ‰t        f«      st        d‰› dt        | «      › d| › d�«      ‚|j                  dk(  r| S t        | «      S ©Nz
Expected `z` but got `z` with value `'z-'` - serialized value may not be as expected.Úpython©Ú
isinstancerä  r.   rÃ   Úmode)Úipr®   rë   s     €r°   Úser_ipz)GenerateSchema._ip_schema.<locals>.ser_ipb  sW   ø€ Ü˜b 2¤s )Ô,Ü:Ø    K´°R³¨z¸ÈÈÐLyÐzóð ð �y‰y˜HÒ$Ø�	Ü�r“7ˆNr²   ©rí  Úpython_schemaTÚalways©Úinfo_argrä   rñ  c                ó   •— d‰‰   dœS )NÚstring©rÃ   Úformatr  )Ú_1Ú_2Úip_type_json_schema_formatrë   s     €€r°   r  z+GenerateSchema._ip_schema.<locals>.<lambda>s  s   ø€ À(ÐVpÐqsÑVtÑ9u€ r²   ©Ú
lax_schemaÚstrict_schemarà   rô  )r  r    r®   úcore_schema.SerializationInforý  zstr | IpType)Ú_validatorsr  r  r   r   r   r   r   r   r1   Úlax_or_strict_schemaÚ no_info_plain_validator_functionÚjson_or_python_schemar  r  r  ré   )r  rë   r  r  r  r'  s    `   @r°   rt  zGenerateSchema._ip_schemaV  s¶   ù€ ß<ô ˜Ü˜Ü˜?Ü˜Ü˜Ü˜?ð?
Ð"õ	ô ×/Ñ/Ü"×CÑCÐDWÐXZÑD[Ó\Ü%×;Ñ;Ü'×HÑHÈÌ[×McÑMcÓMeÓfÜ)×<Ñ<¸RÓ@ôô &×JÑJÈ6Ð\`ÐltÔuà'Ô*uÐ)vðô

ð 
	
r²   c           	     óú  ‡‡‡	— ‰t         j                  u r0‰t        t        hvr"t	        j
                  ‰«      st        dd¬«      ‚‰t         j                  u rt        j                  n‰Š	‰t        u rt        j                  d¬«      nt        j                  d¬«      }‰t        u rt        j                  «       nt        j                  «       }dˆ	ˆfd„}dˆfd„}t        j                  t        j                  ||«      t        j                  ‰«      ¬«      }t        j                  t        j                   |t        j                  ||«      gd	d
‰› �¬«      |t        j"                  |dd¬«      dd„ gi¬«      }|S )Nz;`os.PathLike` can only be used with `str`, `bytes` or `Any`zschema-for-unknown-typerµ   T©Ústrictc                ó2  •— 	 ‰t         u r.t        | t         «      r	 | j                  «       } n(t	        dd«      ‚t        | t
        «      st	        dd«      ‚ ‰| «      S # t        $ r}t	        dd«      |‚d }~ww xY w# t        $ r}t	        dd«      |‚d }~ww xY w)NÚ
bytes_typezInput must be valid byteszInput must be bytesÚ	path_typezInput is not a valid path)Úbytesr  ÚdecodeÚUnicodeDecodeErrorr-   rä  rÐ   )Úinput_valueÚeÚpath_constructorr5  s     €€r°   Úpath_validatorz3GenerateSchema._path_schema.<locals>.path_validatorƒ  s«   ø€ ð[Ø¤Ñ%Ü! +¬uÔ5ðhØ*5×*<Ñ*<Ó*>™Kô 2°,Ð@UÓVÐVÜ# K´Ô5Ü-¨kÐ;VÓWÐWá'¨Ó4Ð4øô  2ò hÜ"5°lÐD_Ó"`ÐfgÐgûðhûô ò [Ü)¨+Ð7RÓSÐYZÐZûð[ús9   ƒA; œA ¬0A; Á	A8Á&A3Á3A8Á8A; Á;	BÂBÂBc           	     óœ   •— t        | ‰t        f«      st        d‰› dt        | «      › d| › d�«      ‚|j                  dk(  r| S t        | «      S r  r  )Úpathr®   rë   s     €r°   Úser_pathz-GenerateSchema._path_schema.<locals>.ser_path”  sX   ø€ Ü˜d R¬ IÔ.Ü:Ø    K´°T³
¨|¸?È4È&ÐP}Ð~óð ð �y‰y˜HÒ$Ø�Ü�t“9Ðr²   r  r5  zInput is not a valid path for ©Úcustom_error_typeÚcustom_error_messager  r  rñ  c                ó   — i  || «      ¥ddi¥S )Nr$  r>  r  )Úsourcerì  s     r°   r  z-GenerateSchema._path_schema.<locals>.<lambda>­  s   € ÐHmÉ7ÐSYË?ÐHmÐ\dÐflÑHm€ r²   r(  )r9  zstr | bytesrý  zos.PathLike[Any])r>  r    r®   r+  rý  zstr | os.PathLike[Any])r¦  r§  rä  r6  r7   Úis_anyrH   r©  r¬  r1   r  r  r/  r  r  r-  Úunion_schemaré   )
r  rë   r5  Ústrict_inner_schemaÚlax_inner_schemar<  r?  Úinstance_schemarÅ   r;  s
    ``      @r°   r~  zGenerateSchema._path_schemaw  sS  ú€ Ø”—‘Ñ )´C¼°<Ñ"?Ì×H]ÑH]Ð^gÔHhÜ#ØMÐTmôð ð 02´R·[±[Ñ/@œ7×+Ò+ÀbÐà6?Ä5Ñ6HŒK×$Ñ$¨DÕ1Ì{×OeÑOeÐmqÔOrð 	ð ;DÄuÑ:Lœ;×3Ñ3Ô5ÔS^×SiÑSiÓSkÐö	[õ"	ô &×;Ñ;Ü#×DÑDÀ^ÐUeÓfÜ%×8Ñ8¸Ó<ô
ˆô
 ×1Ñ1Ü"×/Ñ/à#Ü×@Ñ@ÀÐQdÓeðð #.Ø'EÀbÀTÐ%Jôð *Ü%×JÑJÈ8Ð^bÐnvÔwØ-Ñ0mÐ/nÐoô
ˆð ˆr²   c                óJ   — t        j                  | j                  |«      «      S r¿   )r1   Údeque_schemarÐ  rÑ  s     r°   r[  zGenerateSchema._deque_schema±  s   € Ü×'Ñ'¨×(<Ñ(<¸ZÓ(HÓIÐIr²   c           	     óÞ  — ddl m}m}m} ||   }| j	                  |«      }t        j                  «       5  t        j                  dt        ¬«       | j	                  |«      }	d d d «       t        j                  |	d¬«      }
|t        u r|
}|S t        j                  |
t        j                  |«      ¬«      }|t        j                  u r. ||«      }t!        t        j"                  t!        ||¬«      «      }nt!        t        j$                  |«      } ||
«      }t        j&                  ||g«      }t        j(                  ||t        j*                  d	„ |
d¬
«      ¬«      }|S # 1 sw Y   �ŒxY w)NrT   )ÚMAPPING_ORIGIN_MAPÚdefaultdict_validatorÚ'get_defaultdict_default_default_factoryÚignore©ÚcategoryFr1  r  )Údefault_default_factoryc                ó   —  || «      S r¿   r  )rÝ   Úhs     r°   r  z0GenerateSchema._mapping_schema.<locals>.<lambda>Ü  s
   € ¡ 1£€ r²   ©rÅ   r   )r)  r*  rà   )r,  rM  rN  rO  rÐ  rç   Úcatch_warningsÚsimplefilterrS   r1   rÔ  rÊ   r/  r  r�  r£  r   Úno_info_wrap_validator_functionr  Úchain_schemar-  Ú#wrap_serializer_function_ser_schema)r  rë   rÖ  r×  rM  rN  rO  Úmapped_originÚkeys_schemarË   rÔ  rÅ   Úcheck_instancerS  Úcoerce_instance_wrapr)  r*  s                    r°   rd  zGenerateSchema._mapping_schema´  sX  € ßsÑsà*¨2Ñ.ˆØ×*Ñ*¨9Ó5ˆÜ×$Ñ$Ó&ñ 	>ô ×!Ñ! (Ô5UÕVØ ×0Ñ0°Ó=ˆM÷	>ô "×-Ñ-¨k¸=ÐQVÔWˆàœDÑ Ø ˆFð6 ˆô3 )×>Ñ>Ø'Ü)×<Ñ<¸]ÓKôˆNð
 ”[×,Ñ,Ñ,Ù*QÐR]Ó*^Ð'Ü'.Ü×?Ñ?ÜÐ1ÐKbÔcó(Ñ$ô
 (/¬{×/[Ñ/[Ð]jÓ'kÐ$á-¨kÓ:ˆJÜ'×4Ñ4°nÀjÐ5QÓRˆMä ×5Ñ5Ø%Ø+Ü)×MÑMÙ%¨kÀEôôˆFð ˆ÷O	>ñ 	>ús   µ-E"Å"E,c                ó®   — t        |t        «      s1t        j                  |›d�t        «       t        j                  «       S t        j                  |«      S )Na   is not a Python type (it may be an instance of an object), Pydantic will allow any object with no validation since we cannot even enforce that the input is an instance of the given type. To get rid of this error wrap the type with `pydantic.SkipValidation`.)r  rÃ   rç   rè   rP   r1   rÏ   r  )r  rë   s     r°   Ú_arbitrary_type_schemaz%GenerateSchema._arbitrary_type_schemaâ  sP   € Ü˜"œdÔ#Ü�M‰MØ�&ð Zð Zô %ôô ×)Ñ)Ó+Ð+Ü×-Ñ-¨bÓ1Ð1r²   c                ó    — t        d|›d�«      ‚)Nú,Unable to generate pydantic-core schema for a¨  . Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implement `__get_pydantic_core_schema__` on your type to fully support it.

If you got this error by calling handler(<some type>) within `__get_pydantic_core_schema__` then you likely need to call `handler.generate_schema(<some type>)` since we do not call `__get_pydantic_core_schema__` on `<some type>` otherwise to avoid infinite recursion.)rF   r  s     r°   Ú_unknown_type_schemaz#GenerateSchema._unknown_type_schemaî  s#   € Ü+Ø:¸3¸'ð Bfð fó
ð 	
r²   c                óÄ   — |€|S 	 t        j                  ||| j                  j                  «      S # t         j                  $ r t        j
                  ||«       |cY S w xY wr¿   )rV   Úapply_discriminatorr  Ú_definitionsÚMissingDefinitionForUnionRefÚset_discriminator_in_metadata)r  rÅ   Údiscriminators      r°   Ú_apply_discriminator_to_unionz,GenerateSchema._apply_discriminator_to_unionù  sl   € ð Ð ØˆMð	Ü'×;Ñ;ØØØ—	‘	×&Ñ&óð øô
 $×@Ñ@ò 	ä ×>Ñ>ØØôð ŠMð	ús   †*1 ±+AÁAc                ó8   — | j                   j                  |«      S r¿   )r  Úfinalize_schema)r  rÅ   s     r°   Úclean_schemazGenerateSchema.clean_schema  s   € Ø�y‰y×(Ñ(¨Ó0Ð0r²   c                ó€   — |j                  di «      }|j                  dg «      }||vr|j                  |«       ||d<   y )Nrô  rñ  )rÍ   Ú
setdefaultÚappend)r  Úmetadata_schemaÚjs_functionrô  rñ  s        r°   Ú_add_js_functionzGenerateSchema._add_js_function  sK   € Ø"×&Ñ& z°2Ó6ˆØ (× 3Ñ 3Ð4KÈRÓ PÐð
 Ð3Ñ3Ø!×(Ñ(¨Ô5Ø&.ˆ˜
Ò#r²   c                ó(  — t        |«      }d}|€| j                  ||«      }|€| j                  ||«      }t        |�|n|«      }|�*t	        || j
                  «      }|r| j                  ||«       t        | j                  j                  ||«      }|S )aX  Generate core schema.

        Args:
            obj: The object to generate core schema for.

        Returns:
            The generated core schema.

        Raises:
            PydanticUndefinedAnnotation:
                If it is not possible to evaluate forward reference.
            PydanticSchemaGenerationError:
                If it is not possible to generate pydantic-core schema.
            TypeError:
                - If `alias_generator` returns a disallowed type (must be str, AliasPath or AliasChoices).
                - If V1 style validator with `each_item=True` applied on a wrong field.
            PydanticUserError:
                - If `typing.TypedDict` is used instead of `typing_extensions.TypedDict` on Python < 3.12.
                - If `__modify_schema__` method is used instead of `__get_pydantic_json_schema__`.
        N)
r5   Ú'_generate_schema_from_get_schema_methodÚ_generate_schema_innerÚ!_extract_get_pydantic_json_schemaÚresolve_original_schemar  rt  rî   rÇ  rê   )r  r  ÚoriginrÅ   Úmetadata_js_functionrr  s         r°   rÐ  zGenerateSchema.generate_schema  s£   € ô0 ˜C“ˆØ$(ˆØˆ>ð ×AÑAÀ#ÀsÓKˆFàˆ>Ø×0Ñ0°°fÓ=ˆFô  AÈ6ÐK]ÁÐcfÓgÐØÐ+Ü5°f¸d¿i¹iÓHˆOÙØ×%Ñ% oÐ7KÔLä=¸d×>RÑ>R×>`Ñ>`ÐbeÐgmÓnˆàˆr²   c                óâ  — t        «       }t        j                  |«      }| j                  j	                  |¬«      5 }|�|cddd«       S |j
                  j                  d«      }|�ot        |t        «      s_|d   dk(  r| j                  j                  |«      }t        |«      }|r$| j                  j                  |«      cddd«       S |cddd«       S t        |j                  d¬«      }| j                  j                  |«      5  | j                   j                  |«      5  | j"                  j%                  |j&                  ¬«      }|j(                  s||u rt+        |d	i «      }	t+        |d
d«      }
ncd	|j
                  vr%t-        |j&                  d|j&                  ›d�¬«      ‚	 t/        || j"                  | j                   t1        |«      ¬«      \  }	}
|j6                  }|j8                  }|j:                  s|j<                  s|j>                  rtA        tC        |j:                  jE                  «       |j<                  jE                  «       |j>                  jE                  «       «      h |	jG                  «       £|jG                  «       £«       |jH                  jE                  «       }d}d}|j                  d«      dk(  r‰|
�‡tK        |
jL                  «      }|tN        urtQ        d«      ‚| jS                  |
jL                  d¬«      \  }}|tT        ur| jW                  |«      }tY        jZ                  |«      s| jW                  |«      }t+        |di «      j                  d«      }|j\                  r´| j_                  d|	d   |«      \  }}|j`                  rM|j                  di «      j                  d«      r,tc        |dte        jf                  |j`                  «      i¬«       ti        ||d«      }tk        jl                  |||t+        |dd«      dt+        |dd«      |||¬«	      }nñtk        jn                  |	jq                  «       D ��ci c]  \  }}|| js                  |||«      “Œ c}}|jE                  «       D �cg c]  }| ju                  ||j<                  «      ‘Œ  c}|||j&                  ¬«      }tw        ||jx                  jE                  «       «      }ti        ||d«      }tk        jl                  |||t+        |dd«      dt+        |dd«      ||¬«      }| j{                  ||j|                  jE                  «       «      }ti        ||d «      }| j                  j                  |«      cddd«       cddd«       cddd«       S # t2        $ r}t-        j4                  |«      |‚d}~ww xY wc c}}w c c}w # 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)!z%Generate schema for a Pydantic model.©ró  NÚ__pydantic_core_schema__rÃ   ÚdefinitionsF)Úcheck©rÕ   Ú__pydantic_fields__Ú__pydantic_extra_info__zClass z is not defined)ÚnameÚmessage©r  r  r  Úextra_fields_behaviorÚallowzEThe type annotation for `__pydantic_extra__` must be `dict[str, ...]`T©ÚrequiredÚ__pydantic_generic_metadata__rz  ÚrootÚpydantic_js_updatesrÖ   )r�  ÚinnerÚ__pydantic_custom_init__Ú__pydantic_post_init__)Úgeneric_originÚcustom_initÚ
root_modelÚ	post_initÚconfigró  rô  )Úcomputed_fieldsÚextras_schemaÚextras_keys_schemaÚ
model_name)r‘  r’  r“  r”  r•  ró  Úouter)?rx   rY   Úmodel_type_refr  Úget_definition_ref_schemarò   rÍ   r  rz   Úunpack_definitionsr_   Ú"create_definition_reference_schemar[   Úmodel_configr  Úpushr  rÇ  Úcore_configrÿ   Ú__pydantic_fields_complete__rå   rG   rq   ru   Ú	NameErrorÚfrom_name_errorÚ__pydantic_decorators__r–  Úfield_validatorsÚfield_serializersÚ
validatorsr½   r   r   ÚkeysÚmodel_validatorsr5   Ú
annotationrÊ   rF   Ú _get_args_resolving_forward_refsrä  rÐ  r7   rE  Ú__pydantic_root_model__Ú_common_field_schemar  r^   r  r  Úapply_model_validatorsr1   Úmodel_schemaÚmodel_fields_schemarÙ   Ú_generate_md_field_schemaÚ_computed_field_schemarÎ   Úroot_validatorsÚ_apply_model_serializersÚmodel_serializers)r  rÃ  Ú
BaseModel_Ú	model_refÚmaybe_schemarÅ   ró  r  r¡  r­   Ú
extra_infor:  r»   r–  rª  r—  r˜  rë   Úextra_keys_typeÚextra_items_typer‘  rÒ   rô  r°  rÜ   rÝ   ÚdÚfields_schemas                               r°   Ú_model_schemazGenerateSchema._model_schemaG  sÏ  € ä-Ó/ˆ
ä×-Ñ-¨cÓ2ˆ	Ø�Y‰Y×0Ñ0°YÐ0Ó?ð F	LÀ<ØÐ'Ø#÷F	Lñ F	Lð —\‘\×%Ñ%Ð&@ÓAˆFØÐ!¬*°V¼^Ô*LØ˜&‘> ]Ò2Ø!ŸY™Y×9Ñ9¸&ÓA�FÜ˜f“o�ÙØŸ9™9×GÑGÈÓO÷F	Lñ F	Lð "÷F	Lñ F	Lô +¨3×+;Ñ+;À5ÔIˆNà×+Ñ+×0Ñ0°Ó@ñ vLÀ$×BSÑBS×BXÑBXÐY\ÓB]ñ vLØ"×2Ñ2×>Ñ>ÀSÇ\Á\Ð>ÓR�à×3Ò3°s¸jÑ7HÜ$ SÐ*?ÀÓD�FÜ!(¨Ð.GÈÓ!N‘Jà,°C·L±LÑ@ô :Ø!$§¡Ø&,¨S¯\©\Ð,<¸OÐ$Lôð ðTÜ-AØØ+/×+?Ñ+?Ø(,×(9Ñ(9Ü)?ÀÓ)Dô	.Ñ*˜ 
ð !×8Ñ8�
Ø",×"<Ñ"<�Ø×.Ò.°*×2NÒ2NÐR\×RgÒRgÜ0ÜØ&×7Ñ7×>Ñ>Ó@Ø&×8Ñ8×?Ñ?ÓAØ&×1Ñ1×8Ñ8Ó:óð
 B˜&Ÿ+™+›-ÐA¨/×*>Ñ*>Ó*@ÐAôð $.×#>Ñ#>×#EÑ#EÓ#GÐ à $�Ø%)Ð"Ø—?‘?Ð#:Ó;¸wÒFÈ:ÐKaÜ# J×$9Ñ$9Ó:�BØ¤‘~Ü;Øcóð ð
 9=×8]Ñ8]Ø"×-Ñ-Ø!%ð 9^ó 9Ñ5�OÐ%5ð '¬cÑ1Ø-1×-AÑ-AÀ/Ó-RÐ*Ü)×0Ñ0Ð1AÔBØ(,×(<Ñ(<Ð=MÓ(N˜ä9@ÀÐFeÐgiÓ9j×9nÑ9nÐowÓ9x�à×.Ò.Ø-1×-FÑ-FÀvÈvÐV\É~Ð_iÓ-jÑ*�L (Ø—{’{ x§|¡|Ð4IÈ2Ó'N×'RÑ'RÐS`Ô'aô -Ø$¸=Ì'×JZÑJZÐ[^×[fÑ[fÓJgÐ:hõô $:¸,ÐHXÐZaÓ#b�LÜ#.×#;Ñ#;ØØ$Ø'5Ü$+¨CÐ1KÈTÓ$RØ#'Ü")¨#Ð/GÈÓ"NØ*Ø%Ø!)ô
$‘Lô =H×<[Ñ<[ØY_×YeÑYeÓYg×hÑQUÐQRÐTU˜˜D×:Ñ:¸1¸aÀÓLÑLÓhð &5×%;Ñ%;Ó%=ö)à !ð !×7Ñ7¸¸:×;WÑ;WÕXò)ð '4Ø+=Ø#&§<¡<ô	=�Mô $4°MÀ:×C]ÑC]×CdÑCdÓCfÓ#g�LÜ#9¸,ÐHXÐZaÓ#b�Lä#.×#;Ñ#;ØØ$Ø'5Ü$+¨CÐ1KÈTÓ$RØ#(Ü")¨#Ð/GÈÓ"NØ*Ø%ô	$�Lð ×6Ñ6°|ÀZ×EaÑEa×EhÑEhÓEjÓk�Ü/°Ð8HÈ'ÓR�Ø—y‘y×CÑCÀFÓK÷mvL÷ vLñ vL÷!F	Lñ F	LøôZ %ò TÜ9×IÑIÈ!ÓLÐRSÐSûðTüó@ iùò)÷}vLð vLú÷ vL÷ vLñ vLú÷!F	L÷ F	Lñ F	Lús“   ¼W%Á
A7W%ÃW%Ã2W%ÄWÄ$BV;Æ*/V	ÇI4V;ÑV0Ñ+V;Ò #V6Ò#C
V;Õ-	WÕ6	W%Ö		V-	ÖV(	Ö(V-	Ö-V;Ö;W× W×	W%×W	×W%×%W.c                óX   — | j                   j                  «       }|€t        dd¬«      ‚|S )Nz(`typing.Self` is invalid in this contextzinvalid-self-typerµ   )r
  rÍ   rH   r  s     r°   Ú_resolve_self_typez!GenerateSchema._resolve_self_typeÔ  s/   € Ø×#Ñ#×'Ñ'Ó)ˆØˆ;Ü#Ð$NÐUhÔiÐiØˆ
r²   c                ón  — t        «       }t        |dd «      }|�èt        |dd «      |j                  j                  urÅ| j                  j                  t        j                  |t        |«      «      ¬«      5 }|�|cd d d «       S 	 d d d «       ||u rd}nd} ||t        | j                  | |¬«      «      }|d   dk(  r| j                  j                  |«      }t        |«      }|r| j                  j                  |«      S |S |€ t        |d	d «      x}	��d
dlm}
 t!        ||
«      r)t#        j$                  d|j&                  › d�t(        «       nt#        j$                  dt*        «       t-        j.                   |	«       D �cg c]  }t-        j0                  |«      ‘Œ c}«      S y y # 1 sw Y   �Œ"xY wc c}w )NÚ__get_pydantic_core_schema__Ú__func__r}  Úunpackzto-def)Úref_moderÃ   r  Ú__get_validators__r   r„   zeMixing V1 models and V2 models (or constructs, like `TypeAdapter`) is not supported. Please upgrade `z` to V2.zc`__get_validators__` is deprecated and will be removed, use `__get_pydantic_core_schema__` instead.)rx   rå   rÃ  rÄ  r  rœ  rY   Úany_type_refr5   r   rw  r�  r_   rž  Úpydantic.v1r…   r  rç   rè   rÿ   rÂ  rQ   r1   rZ  Ú"with_info_plain_validator_function)r  r  rD  r·  Ú
get_schemar¹  rÆ  rÅ   ró  r¨  ÚBaseModelV1rÝ   s               r°   rv  z6GenerateSchema._generate_schema_from_get_schema_methodÚ  sÉ  € Ü-Ó/ˆ
ä˜SÐ"@À$ÓGˆ
ð Ð"ô ˜
 J°Ó5¸Z×=dÑ=d×=mÑ=mÑmð —‘×4Ñ4¼×9PÑ9PÐQTÔV`ÐadÓVeÓ9fÐ4Ógð (ÐkwØÐ+Ø'÷(ñ (Ø+÷(ð �f‰}Ø#‘à#�ÙØÔ4°T×5PÑ5PÐRVÐaiÔjóˆFð �f‰~ Ò.ØŸ™×5Ñ5°fÓ=�ä˜&“/ˆCÙØ—y‘y×CÑCÀFÓKÐKð ˆMàÐ´¸Ð>RÐTXÓ1YÐ#Y :Ð"fÝ<ä˜#˜{Ô+Ü—‘Ø{Ð|÷  }Iñ  }Ið  |Jð  JRð  SÜõô
 —‘ØyÜ-ôô ×+Ñ+ÑhrÓhtÖ,uÐcd¬[×-[Ñ-[Ð\]Õ-^Ò,uÓvÐvð #gÐ÷-(ñ (üòF -vs   Á6F%Æ F2Æ%F/c                ó,  — 	 t        j                  |g| j                  ¢­Ž }t        |t        «      rt	        |j                  d|› �«      ‚| j                  rt        || j                  «      }|S # t        $ r}t	        j
                  |«      |‚d }~ww xY w)Nz%Unable to evaluate forward reference )rZ   Ú	eval_typerÊ  r£  rG   r¤  r  r"   Ú__forward_arg__r  rw   )r  r  r:  s      r°   Ú_resolve_forward_refz#GenerateSchema._resolve_forward_ref  s“   € ð	HÜ×)Ñ)¨#ÐF°×0EÑ0EÒFˆCô
 �cœ:Ô&Ü-¨c×.AÑ.AÐEjÐknÐjoÐCpÓqÐqà×ÒÜ  T×%7Ñ%7Ó8ˆCàˆ
øô ò 	HÜ-×=Ñ=¸aÓ@ÀaÐGûð	Hús   ‚ A/ Á/	BÁ8BÂBc                 ó   — y r¿   r  )r  r  rŠ  s      r°   r¬  z/GenerateSchema._get_args_resolving_forward_refs(  s   € Øfir²   c                 ó   — y r¿   r  r  s     r°   r¬  z/GenerateSchema._get_args_resolving_forward_refs+  s   € ØTWr²   c                ó¢   ‡ — t        |«      }|r/t        |t        «      r	d„ |D «       }t        ˆ fd„|D «       «      }|S |rt	        d|› d�«      ‚|S )Nc              3  óV   K  — | ]!  }t        |t        «      rt        |«      n|–— Œ# y ­wr¿   )r  rä  r"   )Ú.0Úas     r°   ú	<genexpr>zBGenerateSchema._get_args_resolving_forward_refs.<locals>.<genexpr>6  s"   è ø€ ÒQÀq¬°A´sÔ);œ
 1œÀÓBÑQùs   ‚')c              3  ód   •K  — | ]'  }t        |t        «      r‰j                  |«      n|–— Œ) y ­wr¿   )r  r"   rÐ  )rÕ  rÖ  r  s     €r°   r×  zBGenerateSchema._get_args_resolving_forward_refs.<locals>.<genexpr>7  s,   øè ø€ ÒhÐ^_¼ÀAÄzÔ9R˜×2Ñ2°1Ô5ÐXYÓYÑhùs   ƒ-0z	Expected z+ to have generic parameters but it had none)r4   r  r   rÇ   rÐ   )r  r  rŠ  Úargss   `   r°   r¬  z/GenerateSchema._get_args_resolving_forward_refs.  s]   ø€ Ü˜‹}ˆÙÜ˜#œ|Ô,ñ
 RÈDÔQ�ÜÓhÐcgÔhÓhˆDð ˆñ Ü˜i¨ uÐ,WÐXÓYÐYØˆr²   c                ó>   — | j                  |«      }|st        S |d   S )Nr   )r¬  r    )r  r  rÙ  s      r°   r�  z$GenerateSchema._get_first_arg_or_any<  s#   € Ø×4Ñ4°SÓ9ˆÙÜˆJØ�A‰wˆr²   c                ó¤   — | j                  |«      }|st        t        fS t        |«      dk  rt        |«      }t	        d|› d�«      ‚|d   |d   fS )Nr;   z Expected two type arguments for z, got 1r   rT   )r¬  r    Úlenr5   rÐ   )r  r  rÙ  rz  s       r°   r‘  z)GenerateSchema._get_first_two_args_or_anyB  s[   € Ø×4Ñ4°SÓ9ˆÙÜœ�:ÐÜˆt‹9�qŠ=Ü “_ˆFÜÐ>¸v¸hÀgÐNÓOÐOØ�A‰w˜˜Q™ÐÐr²   c                óL  — t        j                  |«      r| j                  |«      }t        |«      }|t        ur|n
t        |«      }t        |«      r| j                  |«      S t        j                  |«      r| j                  |«      S t        j                  |«      r| j                  |«      S t        |t        «      r|S t        |t        «      rt        |«      }t        |t        «      r | j                  | j!                  |«      «      S t#        «       }t%        ||«      r6| j&                  j)                  |«      5  | j+                  |«      cd d d «       S t        |t,        «      r t/        j0                  |j2                  ¬«      S | j5                  ||«      S # 1 sw Y   ŒKxY w)N)Ú
schema_ref)r7   Úis_selfrÁ  r5   r/   r:   Ú_union_schemaÚis_annotatedÚ_annotated_schemaÚ
is_literalÚ_literal_schemar  rÊ   rä  r"   rÐ  rÐ  rx   r€   r
  r   r¿  rt   r1   Údefinition_reference_schemaÚtype_refÚ
match_type)r  r  rz  r…   s       r°   rw  z%GenerateSchema._generate_schema_innerK  s^  € Ü×!Ñ! #Ô&Ø×)Ñ)¨#Ó.ˆCô   “_ˆFà!Ô):Ñ:‘Ä
È3Ãˆä˜6Ô"Ø×%Ñ% cÓ*Ð*ä×&Ñ& vÔ.Ø×)Ñ)¨#Ó.Ð.ä×$Ñ$ VÔ,Ø×'Ñ'¨Ó,Ð,ä�cœ4Ô àˆJä�cœ3ÔÜ˜S“/ˆCä�cœ:Ô&Ø×'Ñ'¨×(AÑ(AÀ#Ó(FÓGÐGä,Ó.ˆ	ä˜c 9Ô-Ø×&Ñ&×+Ñ+¨CÓ0ñ /Ø×)Ñ)¨#Ó.÷/ñ /ô �cÔ/Ô0Ü×:Ñ:ÀcÇlÁlÔSÐSà�‰˜s FÓ+Ð+÷/ð /ús   Ä=FÆF#c                ó\  — t        j                  |«      st        j                  |«      rt        j                  «       S |�.t         j
                  j                  t        |«      «      x}r|}d}|�€j	 | j                  j                  |«      }|�	 || |«      S t        j                  |«      r| j                  |«      S t        |«      r| j                  |d«      S t        j                  |«      r!t!        |t"        «      r| j%                  |«      S t'        j(                  |«      r| j+                  |d«      S t        j,                  |«      r| j/                  |j0                  «      S t3        |t4        j6                  «      r| j9                  |«      S t3        |t:        «      r| j=                  |«      S t?        j@                  |«      r| jC                  |d«      S |�| jE                  ||«      S | jF                  r| jI                  |«      S | jK                  |«      S # t        $ r Y �Œ‘w xY w)aÈ  Main mapping of types to schemas.

        The general structure is a series of if statements starting with the simple cases
        (non-generic primitive types) and then handling generics and other more complex cases.

        Each case either generates a schema directly, calls into a public user-overridable method
        (like `GenerateSchema.tuple_variable_schema`) or calls into a private method that handles some
        boilerplate before calling into the user-facing method (e.g. `GenerateSchema._tuple_schema`).

        The idea is that we'll evolve this into adding more and more user facing methods over time
        as they get requested and we figure out what the right API for them is.
        N)&r7   rE  Úis_finalr1   rÏ   ÚDEPRECATED_ALIASES_IDSrÍ   Úidr‹  rÐ   Úis_typealiastypeÚ_type_alias_type_schemar6   Ú_typed_dict_schemar  Úisclassr  r   r
  rZ   Úis_namedtupleÚ_namedtuple_schemaÚ
is_newtyperÐ  Ú__supertype__r  Útypingr%   Ú_unsubstituted_typevar_schemaÚVALIDATE_CALL_SUPPORTED_TYPESÚ_call_schemaÚdataclassesÚis_dataclassÚ_dataclass_schemaÚ_match_generic_typerÍ  ra  rd  )r  r  rz  Úaliased_objrì  s        r°   rç  zGenerateSchema.match_typer  sô  € ô × Ñ  Ô%¬×)@Ñ)@ÀÔ)Eô ×)Ñ)Ó+Ð+àÐ´.×2WÑ2W×2[Ñ2[Ô\^Ð_bÓ\cÓ2dÐ#d ;Ð#dàˆCØˆFà‰>ð.ØŸ.™.×,Ñ,¨SÓ1�ð Ð&Ù" 4¨Ó-Ð-ä×.Ñ.¨sÔ3Ø×3Ñ3°CÓ8Ð8Ü˜cÔ"Ø×.Ñ.¨s°DÓ9Ð9Ü—‘ Ô%¬*°S¼$Ô*?ð ×(Ñ(¨Ó-Ð-Ü×,Ñ,¨SÔ1Ø×.Ñ.¨s°DÓ9Ð9Ü×*Ñ*¨3Ô/Ø×+Ñ+¨C×,=Ñ,=Ó>Ð>Ü˜C¤§¡Ô0Ø×9Ñ9¸#Ó>Ð>Ü˜CÔ!>Ô?Ø×(Ñ(¨Ó-Ð-ô ×)Ñ)¨#Ô.Ø×-Ñ-¨c°4Ó8Ð8àÐØ×+Ñ+¨C°Ó8Ð8à× Ò Ø×.Ñ.¨sÓ3Ð3Ø×(Ñ(¨Ó-Ð-øôA ò Úðús   Á3H È	H+È*H+c                ó‚  — t        j                  |«      r| j                  ||«      S t        j                  |«      r| j                  ||«      S t        j                  |«      r | j                  | j                  |«      «      S | j                  ||«      }|�|S 	 | j                  j                  |«      }|�	 || |«      S t        j                  |«      r| j                  |«      S t!        |«      r| j#                  ||«      S | j$                  r| j'                  |«      S | j)                  |«      S # t        $ r Y Œ|w xY wr¿   )rø  rù  rú  rZ   rð  rñ  r7   ré  rÐ  r�  rv  rº  rÍ   rÐ   rì  rí  r6   rî  rÍ  ra  rd  )r  r  rz  rÅ   rì  s        r°   rû  z"GenerateSchema._match_generic_type±  s8  € ô
 ×#Ñ# FÔ+Ø×)Ñ)¨#¨vÓ6Ð6Ü×(Ñ(¨Ô0Ø×*Ñ*¨3°Ó7Ð7Ü×$Ñ$ VÔ,ð ×'Ñ'¨×(BÑ(BÀ3Ó(GÓHÐHà×=Ñ=¸fÀcÓJˆØÐØˆMð	*Ø×,Ñ,×0Ñ0°Ó8ˆGð Ð"Ù˜t SÓ)Ð)ä×*Ñ*¨6Ô2Ø×/Ñ/°Ó4Ð4Ü˜&Ô!Ø×*Ñ*¨3°Ó7Ð7à× Ò Ø×.Ñ.¨vÓ6Ð6Ø×(Ñ(¨Ó-Ð-øô ò 	Ùð	ús   ÂD2 Ä2	D>Ä=D>Tr‰  c          	     óì   — | j                  |||«      \  }}t        j                  ||j                  «       sdn||j                  t        |j                  «      |j                  |j                  |¬«      S )zAPrepare a TypedDictField to represent a model or typeddict field.F)rŠ  Úserialization_excluder˜   r™   Úserialization_exclude_ifrô  )	r®  r1   Útyped_dict_fieldÚis_requiredrœ   Ú_convert_to_aliasesr˜   r™   Ú
exclude_if)r  r„  Ú
field_infor»   rŠ  rÅ   rô  s          r°   Ú_generate_td_field_schemaz(GenerateSchema._generate_td_field_schemaÔ  so   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×+Ñ+ØØ",×"8Ñ"8Ô":‘UÀØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Øô
ð 	
r²   c           	     óÜ   — | j                  |||«      \  }}t        j                  ||j                  t	        |j
                  «      |j                  |j                  |j                  |¬«      S )z0Prepare a ModelField to represent a model field.)rÿ  r˜   r™   r   r    rô  )	r®  r1   Úmodel_fieldrœ   r  r˜   r™   r  r    ©r  r„  r  r»   rÅ   rô  s         r°   r²  z(GenerateSchema._generate_md_field_schemaè  sh   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×&Ñ&ØØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Ø×$Ñ$Øô
ð 	
r²   c                ó0  — | j                  |||«      \  }}t        j                  |||j                  |j                  xs d|j
                  rdnd|j                  t        |j                  «      |j                  |j                  |j                  |¬«      S )zJPrepare a DataclassField to represent the parameter/field, of a dataclass.NF)	r¡   Ú	init_onlyr£   rÿ  r˜   r™   r   r    rô  )r®  r1   Údataclass_fieldr¡   r¢   r£   rœ   r  r˜   r™   r  r    r	  s         r°   Ú_generate_dc_field_schemaz(GenerateSchema._generate_dc_field_schemaú  s�   € ð  ×4Ñ4°T¸:ÀzÓRÑˆ�Ü×*Ñ*ØØØ—‘Ø ×)Ñ)Ò1¨TØ&×.Ò.‘D°EØ",×"4Ñ"4Ü0°×1LÑ1LÓMØ *× >Ñ >Ø%/×%:Ñ%:Ø×$Ñ$Øô
ð 	
r²   c                ó2  ‡ ‡— ‰j                   ‰j                  }}dˆˆ fd„}|j                  r\t        |j                  j	                  «       |«      D �cg c].  }t
        |j                  j                     j                  |«      ‘Œ0 }}ng }‰ j                  j                  |«      5  ‰j                  �‰ j                  |||z   |¬«      }	n‰ j                  |||z   «      }	d d d «       |j                  rŠt        |j                  j	                  «       |«      }
t        |
«      rd‰_        |
D �cg c]  }|j                  j                   du sŒ|‘Œ }}|
D �cg c]	  }||vsŒ|‘Œ }
}t#        	|«      }	t%        |	|
«      }	‰j'                  «       st)        ‰	«      }	|j*                  r4‰ j-                  	t        |j*                  j	                  «       |«      «      }	t/        ‰«      \  }}i }t1        |||¬«       	|fS c c}w # 1 sw Y   �Œ#xY wc c}w c c}w )Nc                ó@   •— ‰j                  | ‰j                  «      } | S r¿   )rk  rj  )rÅ   r  r  s    €€r°   Úset_discriminatorz>GenerateSchema._common_field_schema.<locals>.set_discriminator  s    ø€ Ø×7Ñ7¸À
×@XÑ@XÓYˆFØˆMr²   )Útransform_inner_schemaT©r�  Úpydantic_js_extra©rÅ   r+   rý  r+   )r«  rô  r¦  rÁ   r   rª   r®   r  Ú_from_decoratorr	  r   rj  Ú_apply_annotationsr¨  Ú$_validators_require_validate_defaultrŸ   Ú	each_itemrÌ   rÎ   r  Úwrap_defaultr§  Ú_apply_field_serializersrÞ   r^   )r  r„  r  r»   Úsource_typer   r  Ú	decoratorÚvalidators_from_decoratorsrÅ   Úthis_field_validatorsrÝ   rÑ   r�  r  Úcore_metadatas   ` `             r°   r®  z#GenerateSchema._common_field_schema  s(  ù€ ð $.×#8Ñ#8¸*×:MÑ:M�[ˆö	ð
 ×&Ò&ô "FÀj×FaÑFa×FhÑFhÓFjÐlpÓ!qö*àô # 9§>¡>×#6Ñ#6Ñ7×GÑGÈ	ÕRð*Ð&ñ *ð
 *,Ð&à×"Ñ"×'Ñ'¨Ó-ñ 		Ø×'Ñ'Ð3Ø×0Ñ0Ø Ð/IÑ!IÐbsð 1ó ‘ð ×0Ñ0ØØÐ"<Ñ<ó�÷		ð × Ò ô
 %IÈ×I^ÑI^×IeÑIeÓIgÐimÓ$nÐ!Ü3Ð4IÔJØ.2�
Ô+Ø/DÖ#a¨!ÈÏÉ×HXÑHXÐ\`ÒH`¢AÐ#aÐ Ð#aØ0EÖ$g¨1ÈÐRfÒIf¢QÐ$gÐ!Ð$gÜ/°Ð8LÓMˆFä% fÐ.CÓDˆFð
 ×%Ñ%Ô'Ü! *¨fÓ5ˆFà×'Ò'Ø×2Ñ2ØÔ<¸Z×=YÑ=Y×=`Ñ=`Ó=bÐdhÓióˆFô 2[Ð[eÓ1fÑ.ÐÐ.Ø(*ˆÜØÐ/BÐVgõ	
ð �}Ð$Ð$ùòc*÷		ñ 		üò& $bùÚ$gs*   Á3G=Â':HÄ/HÅHÅ	HÅ!HÈHc                óT  — | j                  |d¬«      }g }d}d}|D ]:  }|�|t        u rd}Œ|t        u rd}Œ|j                  | j	                  |«      «       Œ< |st        j                  «       }d}nˆt        |«      dk(  r|d   }ntg }|D ]X  }	t        t        |	j                  di «      «      j                  d«      }
|
�|j                  |	|
f«       ŒH|j                  |	«       ŒZ t        j                  |«      }|rt        j                  |«      }|rt        j                  |«      }|S )zGenerate schema for a Union.Tr‰  FrT   r   rô  Úpydantic_internal_union_tag_key)r¬  r   r*   rq  rÐ  r1   r>  rÜ  r&   r]   rÍ   rF  Únullable_schemarA  )r  Ú
union_typerÙ  ÚchoicesrÄ   Úallow_missingÚargÚsÚchoices_with_tagsÚchoiceÚtags              r°   rà  zGenerateSchema._union_schemaN  s0  € à×4Ñ4°ZÈ$Ð4ÓOˆØ$&ˆØˆØˆØò 	:ˆCØˆ{˜c¤X™oØ‘Øœ‘Ø $‘à—‘˜t×3Ñ3°CÓ8Õ9ð	:ñ ä×'Ñ'Ó)ˆAØ‰HÜ�‹\˜QÒØ˜‘
‰AàKMÐØ!ò 5�Üœ<¨¯©°JÀÓ)CÓD×HÑHÐIjÓk�Ø�?Ø%×,Ñ,¨f°c¨]Õ;à%×,Ñ,¨VÕ4ð5ô ×(Ñ(Ð):Ó;ˆAáÜ×+Ñ+¨AÓ.ˆAÙÜ×3Ñ3°AÓ6ˆAØˆr²   c                óp  — t        j                  |«      }| j                  j                  |¬«      5 }|�|cd d d «       S t	        |«      xs |}t        |«      }| j                  j                  |«      5  	 t        j                  |j                  g| j                  ¢­Ž }t        ||«      }| j!                  |«      }|d   dk7  sJ ‚||d<   d d d «       | j                  j#                  «      cd d d «       S # t        $ r}t        j                  |«      |‚d }~ww xY w# 1 sw Y   ŒTxY w# 1 sw Y   y xY w)Nr}  rÃ   r  ró  )rY   Útype_alias_type_refr  rœ  r5   rv   r  r   rZ   rÎ  Ú	__value__rÊ  r£  rG   r¤  rw   rÐ  rž  )	r  r  ró  r¹  rz  r  r«  r:  rÅ   s	            r°   rí  z&GenerateSchema._type_alias_type_schemar  s;  € Ü×,Ñ,¨SÓ1ˆØ�Y‰Y×0Ñ0°SÐ0Ó9ð 	H¸\ØÐ'Ø#÷	Hñ 	Hô %/¨s£OÒ$:°sˆFÜ4°SÓ9ˆLà×"Ñ"×'Ñ'¨Ó/ñ $ðPÜ!.×!8Ñ!8¸×9IÑ9IÐ!bÈD×LaÑLaÒ!b�Jô +¨:°|ÓD�
Ø×-Ñ-¨jÓ9�Ø˜f‘~¨Ò6Ð6Ð6Ø #��u‘÷$ð —9‘9×?Ñ?ÀÓG÷!	Hñ 	Høô !ò PÜ5×EÑEÀaÓHÈaÐOûðPú÷$ð $ú÷	Hð 	HúsM   ²D,Á 5D,Á5D Á7*C9Â!,D Ã"D,Ã9	DÄDÄDÄD Ä D)	Ä%D,Ä,D5c                óô   — t        t        |dd¬«      «      }|s
J d|› �«       ‚t        j                  |«      }| j                  j
                  r)t        d„ |D «       «      rt        j                  d„ |«      }|S )zGenerate schema for a Literal.FÚeager)Ú
type_checkÚunpack_type_aliasesz(literal "expected" cannot be empty, obj=c              3  ó<   K  — | ]  }t        |t        «      –— Œ y ­wr¿   )r  r   )rÕ  rÝ   s     r°   r×  z1GenerateSchema._literal_schema.<locals>.<genexpr>Œ  s   è ø€ Ò7^ÐPQ¼
À1Äd×8KÑ7^ùs   ‚c                ó>   — t        | t        «      r| j                  S | S r¿   )r  r   rõ  )rÝ   s    r°   r  z0GenerateSchema._literal_schema.<locals>.<lambda>Ž  s   € ¤Z°´4Ô%8˜!Ÿ'™'€ ¸a€ r²   )rþ  r9   r1   Úliteral_schemarÇ  r  Úanyr  )r  Úliteral_typeÚexpectedrÅ   s       r°   rä  zGenerateSchema._literal_schema†  su   € äÔ*¨<ÀEÐ_fÔgÓhˆÙÐRÐCÀLÀ>ÐRÓRˆxÜ×+Ñ+¨HÓ5ˆà×Ñ×/Ò/´CÑ7^ÐU]Ô7^Ô4^Ü ×AÑAÙ?ÀóˆFð ˆr²   c                óH
  — t        «       }t        j                  ||«      }| j                  j	                  |«      5  | j
                  j                  |¬«      5 }|�|cddd«       cddd«       S t        |«      }|�|}t        s%t        |«      j                  dk(  rt        dd¬«      ‚	 t        |d«      }| j                  j	                  |«      5  | j                  j!                  |j"                  ¬«      }|j$                  }	i }
t'        j(                  |d	¬
«      }|j+                  | j                  «       | j                  j,                  rt/        |d¬«      }nd}	 t1        j2                  || j4                  ¬«      }g }|j=                  «       D ]Ð  \  }} |j>                  |t@        jB                  ¬«      }tE        |jF                  |«      |_#        ||	v xs d|jH                  v xr d|jH                  v}d|jH                  v r|jK                  |«       |�|jL                  €||v r
||   |_&        tO        | j                  ||«       | jQ                  ||||¬«      |
|<   ŒÒ |r_djS                  d„ |D «       «      }tU        |«      dk\  }tW        jX                  d|rdnd› d|› d|j"                  ›d|rdnd› d�	tZ        «       d}d}t]        |«      \  }}}|rd}d}n2t_        j`                  |«      sd }| jc                  tE        ||«      «      }|r(tW        jX                  d!|j"                  ›d"�tZ        «       | j                  jd                  x}d#v rw|r/|d k(  r*tW        jX                  d$|jf                  ›d%�th        ¬&«       nFt_        j`                  |«      s/|dk(  r*tW        jX                  d$|jf                  ›d'�th        ¬&«       n|}tk        jl                  |
||jn                  jq                  «       D �cg c]  }| js                  ||jt                  «      ‘Œ  c}||||¬(«      }| jw                  ||jx                  jq                  «       «      }t{        ||j|                  jq                  «       d)«      }| j
                  j                  |«      cddd«       cddd«       cddd«       S # t        $ r d}Y �Œw xY w# t6        $ r}t9        j:                  |«      |‚d}~ww xY wc c}w # 1 sw Y   nxY w	 ddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)*a,  Generate a core schema for a `TypedDict` class.

        To be able to build a `DecoratorInfos` instance for the `TypedDict` class (which will include
        validators, serializers, etc.), we need to have access to the original bases of the class
        (see https://docs.python.org/3/library/types.html#types.get_original_bases).
        However, the `__orig_bases__` attribute was only added in 3.12 (https://github.com/python/cpython/pull/103698).

        For this reason, we require Python 3.12 (or using the `typing_extensions` backport).
        r}  Nrô  zXPlease use `typing_extensions.TypedDict` instead of `typing.TypedDict` on Python < 3.12.ztyped-dict-versionrµ   Ú__pydantic_config__r�  F©Úreplace_wrapped_methodsT)Úuse_inspect©r  ©Ú_sourcerŠ  Únot_requiredÚ	read_onlyr‰  ú, c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr¿   ©rž   )rÕ  Úfs     r°   r×  z4GenerateSchema._typed_dict_schema.<locals>.<genexpr>å  s   è ø€ Ò+M¸¬D°¯GÑ+Mùó   ‚r;   ÚItemr'  rÔ   ú z on TypedDict class ÚareÚiszk using the `ReadOnly` qualifier. Pydantic will not protect items from any mutation on dictionary instances.rP  Úforbidrˆ  zExtra items on TypedDict class zo are using the `ReadOnly` qualifier. Pydantic will not protect items from any mutation on dictionary instances.)rˆ  rK  zTypedDict class zk is closed, but 'extra' configuration is set to `'allow'`. The 'extra' configuration value will be ignored.rQ  zu allows extra items, but 'extra' configuration is set to `'forbid'`. The 'extra' configuration value will be ignored.)rÃ  r–  Úextra_behaviorr—  ró  r•  Úall)@ry   rY   Úclass_type_refr
  r   r  rœ  rv   Ú_SUPPORTS_TYPEDDICTrÃ   r   rH   ri   ÚAttributeErrorr  rÇ  r¡  rÿ   Ú__required_keys__rb   ÚbuildÚupdate_from_configÚuse_attribute_docstringsrn   rZ   Úget_cls_type_hintsr  r£  rG   r¤  rÙ   Úfrom_annotationr8   Ú
TYPED_DICTrw   r«  Ú_qualifiersrq  rÖ   rs   r  ÚjoinrÜ  rç   rè   rÂ  rü   r7   rõ   rÐ  Úextrar  rR   r1   Útyped_dict_schemar–  r   r³  r§  rµ  r¶  r¯  rª  rž  )r  rø   rz  rƒ   Útyped_dict_refr¹  r  r•  r¡  Úrequired_keysr­   r»   Úfield_docstringsr   r:  Úreadonly_fieldsÚ
field_namer«  r  rŠ  Úfields_reprÚpluralrL  r—  Ú	is_closedrú   Úextra_items_readonlyÚconfig_extrar½  Ú	td_schemarÅ   s                                  r°   rî  z!GenerateSchema._typed_dict_schema“  so  € ô -Ó.ˆ	ä#×2Ñ2°>À6ÓJˆà×!Ñ!×&Ñ& ~Ó6ñ	Là�I‰I×/Ñ/°NÐ/ÓCð	LàGSàÐ'Ø#÷	L÷ 	Lò 	Lô 5°^ÓDˆLØÐ!Ø!'�å&¬4°Ó+?×+JÑ+JÈhÒ+VÜ'ØnØ-ôð ð
ô -EÀ^ÐUjÓ,k�ð ×+Ñ+×0Ñ0°Ó8ñ gLØ"×2Ñ2×>Ñ>À^×E\ÑE\Ð>Ó]�à0>×0PÑ0P�à@B�ä+×1Ñ1°.ÐZ_Ô`�
Ø×-Ñ-¨d×.BÑ.BÔCà×'Ñ'×@Ò@Ü'BÀ>Ð_cÔ'dÑ$à'+Ð$ðPÜ"/×"BÑ"BÀ>Ð_c×_pÑ_pÔ"q�Kð .0�à.9×.?Ñ.?Ó.Aò Ñ*�J 
Ø!: ×!:Ñ!:¸:ÔO_×OjÑOjÔ!k�JÜ,9¸*×:OÑ:OÐQ]Ó,^�JÔ)ð # mÐ3Ò[°zÀZ×E[ÑE[Ð7[ò Gà(°
×0FÑ0FÐFð ð # j×&<Ñ&<Ñ<Ø'×.Ñ.¨zÔ:ð )Ð4Ø&×2Ñ2Ð:Ø&Ð*:Ñ:à1AÀ*Ñ1M˜
Ô.Ü,¨T×-AÑ-AÀ:ÈzÔZà)-×)GÑ)GØ" J°
ÀXð *Hó *�F˜:Ò&ð%ñ, #Ø"&§)¡)Ñ+M¸_Ô+MÓ"M�KÜ  Ó1°QÑ6�FÜ—M‘MØ¡f™s°"Ð5°Q°{°mÐCWÐXf×XoÑXoÐWrÐrsÙ$*™5°Ð5ð 6EðEô $ô	ð =E�Ø37�ä?ZÐ[iÓ?jÑ<�	˜;Ð(<ÙØ%-�NØ$(‘MÜ'×7Ñ7¸ÔDØ%,�NØ$(×$8Ñ$8¼À{ÐT`Ó9aÓ$b�Má'Ü—M‘MØ9¸.×:QÑ:QÐ9Tð Ueð eä#ôð %)×$8Ñ$8×$>Ñ$>Ð>�LÐCVÑVÙ  \°WÒ%<Ü Ÿ™Ø.¨~×/JÑ/JÐ.Mð Ndð dä%@öô
 ,×;Ñ;¸KÔHÈ\Ð]eÒMeÜ Ÿ™Ø.¨~×/JÑ/JÐ.Mð Neð eä%@öð *6˜ä'×9Ñ9ØØ&ð ",×!;Ñ!;×!BÑ!BÓ!Dö%àð ×3Ñ3°A°z×7SÑ7SÕTò%ð $2Ø"/Ø&Ø&ô�	ð ×6Ñ6°yÀ*×B^ÑB^×BeÑBeÓBgÓh�Ü/°¸
×8SÑ8S×8ZÑ8ZÓ8\Ð^cÓd�Ø—y‘y×CÑCÀFÓK÷OgLð gL÷1	L÷ 	Lò 	Løô* "ò Ø“ðûô( !ò PÜ5×EÑEÀaÓHÈaÐOûðPüòT%÷wgLð gLúð gL÷1	L÷ 	Lñ 	Lú÷ 	L÷ 	Lñ 	Lús¤   ¼TÁTÁ	TÁ0:TÂ+R/Â7TÃBS-Å !SÆI:S-Ï;#S(ÐA5S-Ò	TÒ	TÒ/R>Ò:TÒ=R>Ò>TÓ	S%	Ó
S 	Ó S%	Ó%S-Ó-S6Ó2TÓ:	TÔT	ÔTÔT!c                óÚ  — t        j                  ||«      }| j                  j                  |«      5  | j                  j                  |¬«      5 }|�|cddd«       cddd«       S t        |«      }|�|}	 t        j                  || j                  ¬«      }|j                  D �ci c]  }||j                  |t        «      “Œ }}|r-|j!                  «       D ��	ci c]  \  }}	|t#        |	|«      “Œ }}}	t%        j&                  ||j!                  «       D ��	cg c]A  \  }}	| j)                  ||	|j*                  j                  |t,        j.                  «      ¬«      ‘ŒC c}	}|¬«      }
| j                  j1                  |
«      cddd«       cddd«       S # t        $ r}t        j                  |«      |‚d}~ww xY wc c}w c c}	}w c c}	}w # 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)z!Generate schema for a NamedTuple.r}  Nr=  ©rš   )rY   rN  r
  r   r  rœ  rv   rZ   rU  r  r£  rG   r¤  Ú_fieldsrÍ   r    rÙ   rw   r1   Únamed_tuple_schemaÚ!_generate_namedtuple_field_schemaÚ_field_defaultsr   Úemptyrž  )r  Únamedtuple_clsrz  Únamedtuple_refr¹  r  r   r:  r`  r«  rÅ   s              r°   rñ  z!GenerateSchema._namedtuple_schema!  só  € ä#×2Ñ2°>À6ÓJˆà×!Ñ!×&Ñ& ~Ó6ñ&	Hà�I‰I×/Ñ/°NÐ/ÓCð&	HàGSàÐ'Ø#÷&	H÷ &	Hò &	Hô 5°^ÓDˆLØÐ!Ø!'�ðLÜ+×>Ñ>¸~Ð[_×[lÑ[lÔm�ð [i×ZpÑZpÖqÈJ˜: {§¡°zÄ3Ó'GÑGÐqˆKÐqáð 3>×2CÑ2CÓ2E÷á.˜
 Jð ¤¨j¸,Ó GÑGð�ñ ô
 !×3Ñ3Øð 3>×2CÑ2CÓ2E÷ñ /˜
 Jð ×:Ñ:Ø"Ø"Ø .× >Ñ >× BÑ BÀ:ÌyÏÉÓ _ð ;õ óð #ôˆFð —9‘9×?Ñ?ÀÓG÷M&	H÷ &	Hò &	Høô ò LÜ1×AÑAÀ!ÓDÈ!ÐKûðLüò rùóùó÷9&	Hð &	Hú÷ &	H÷ &	Hñ &	Húsx   ²G!ÁGÁ	G!Á&GÁ6!FÂGÂ%F;ÃGÃG 
Ã1&GÄAGÅ$GÆ	G!Æ	F8ÆF3Æ3F8Æ8GÇG	ÇG!Ç!G*c                óF  — t        «       }|t        j                  u r# |j                  |t        j
                  ¬«      }n# |j                  ||t        j
                  ¬«      }|j                  €J d«       ‚t        | j                  ||«       | j                  j                  |«      5  | j                  |j                  |gd¬«      }ddd«       |j                  «       st        |«      }t        j                   |t#        |j$                  «      ¬«      S # 1 sw Y   ŒPxY w)z4Generate the definition of a field in a named tuple.r>  Nú<field.annotation should not be None when generating a schemaF©Ú'check_unsupported_field_info_attributes)r˜   )ry   r   rm  rV  r8   ÚNAMED_TUPLEÚfrom_annotated_attributer«  rs   rÇ  r	  r   r  r  r  r1   Únamed_tuple_fieldr  r˜   )r  r„  r«  rš   rƒ   r¯   rÅ   s          r°   rk  z0GenerateSchema._generate_namedtuple_field_schemaL  s  € ô -Ó.ˆ	à”i—o‘oÑ%Ø-�I×-Ñ-¨jÔBR×B^ÑB^Ô_‰Eà6�I×6Ñ6°zÀ7ÔTd×TpÑTpÔqˆEà×ÑÐ+ÐkÐ-kÓkÐ+Ü  ×!5Ñ!5°t¸UÔCà×"Ñ"×'Ñ'¨Ó-ñ 	Ø×,Ñ,Ø× Ñ Ø�ð 9>ð -ó ˆF÷	ð × Ñ Ô"Ü! %¨Ó0ˆFä×,Ñ,ØØÜ0°×1GÑ1GÓHô
ð 	
÷	ð 	ús   Â( DÄD c                ó  — t        «       }|t        j                  u r |j                  ||¬«      }n |j                  |||¬«      }|j
                  €J d«       ‚t        | j                  ||«       | j                  j                  |«      5  | j                  |j
                  |gd¬«      }ddd«       |j                  «       st        |«      }t        j                  ||t        |j                   «      ¬«      }	|	S # 1 sw Y   ŒSxY w)zÖGenerate the definition of a parameter in a function signature.

        This definition is meant to be used for the `'arguments'` core schema, which will be replaced
        in V3 by the `'arguments-v3`'.
        r>  Nrq  Frr  )r  r—   )ry   r   rm  rV  ru  r«  rs   rÇ  r	  r   r  r  r  r1   Úarguments_parameterr  r˜   )
r  r„  r«  rD  rš   r  rƒ   r¯   rÅ   Úparameter_schemas
             r°   Ú_generate_parameter_schemaz)GenerateSchema._generate_parameter_schemap  s  € ô -Ó.ˆ	à”i—o‘oÑ%Ø-�I×-Ñ-¨jÀ&ÔI‰Eà6�I×6Ñ6°zÀ7ÐTZÔ[ˆEà×ÑÐ+ÐkÐ-kÓkÐ+Ü  ×!5Ñ!5°t¸UÔCà×"Ñ"×'Ñ'¨Ó-ñ 	Ø×,Ñ,Ø× Ñ Ø�ð 9>ð -ó ˆF÷	ð × Ñ Ô"Ü! %¨Ó0ˆFä&×:Ñ:ØØØÜ% e×&<Ñ&<Ó=ô	
Ðð  Ð÷)	ð 	ús   Â C>Ã>Dc                óî  — t        «       }|t        j                  u r |j                  ||¬«      }n |j                  |||¬«      }t        | j                  ||«       | j                  j                  |«      5  | j                  |j                  |gd¬«      }ddd«       |j                  «       st        |«      }t        j                  ||t        |j                   «      ¬«      }	|	S # 1 sw Y   ŒSxY w)zÖGenerate the definition of a parameter in a function signature.

        This definition is meant to be used for the `'arguments-v3'` core schema, which will replace
        the `'arguments`' schema in V3.
        r>  Frr  N)r„  rÅ   r  r—   )ry   r   rm  rV  ru  rs   rÇ  r	  r   r  r«  r  r  r1   Úarguments_v3_parameterr  r˜   )
r  r„  r«  rD  r  rš   rƒ   r¯   rÅ   ry  s
             r°   Ú_generate_parameter_v3_schemaz,GenerateSchema._generate_parameter_v3_schema�  sð   € ô( -Ó.ˆ	à”i—o‘oÑ%Ø-�I×-Ñ-¨jÀ&ÔI‰Eà6�I×6Ñ6°zÀ7ÐTZÔ[ˆEÜ  ×!5Ñ!5°t¸UÔCà×"Ñ"×'Ñ'¨Ó-ñ 	Ø×,Ñ,Ø× Ñ Ø�ð 9>ð -ó ˆF÷	ð × Ñ Ô"Ü! %¨Ó0ˆFä&×=Ñ=ØØØÜ% e×&<Ñ&<Ó=ô	
Ðð  Ð÷)	ð 	ús   Á9 C+Ã+C4c                ó^  ‡— t        |«      Š| j                  |«      }‰r|rt        ˆfd„|D «       «      }|sG|t        v r*t	        j
                  t	        j                  «       gd¬«      S t	        j
                  g «      S |d   t        u rCt        |«      dk(  r*t	        j
                  | j                  |d   «      gd¬«      S t        d«      ‚t        |«      dk(  r|d   dk(  rt	        j
                  g «      S t	        j
                  |D �cg c]  }| j                  |«      ‘Œ c}«      S c c}w )	zIGenerate schema for a Tuple, e.g. `tuple[int, str]` or `tuple[int, ...]`.c              3  ó6   •K  — | ]  }t        |‰«      –— Œ y ­wr¿   )rw   )rÕ  Úparamr  s     €r°   r×  z/GenerateSchema._tuple_schema.<locals>.<genexpr>Ö  s   øè ø€ ÒRÀ%œ=¨°×=ÑRùs   ƒr   )rÈ   râ   r;   z&Variable tuples can only have one typerT   r  )rv   r¬  rÇ   r•   r1   Útuple_schemarÏ   ÚEllipsisrÜ  rÐ  Ú
ValueError)r  Ú
tuple_typeÚparamsr€  r  s       @r°   rJ  zGenerateSchema._tuple_schemaÏ  s  ø€ ô 1°Ó<ˆØ×6Ñ6°zÓBˆá™FÜÓRÈ6ÔRÓRˆFñ Øœ[Ñ(Ü"×/Ñ/´×1GÑ1GÓ1IÐ0JÐ`aÔbÐbô #×/Ñ/°Ó3Ð3Ø�B‰Zœ8Ñ#Ü�6‹{˜aÒÜ"×/Ñ/°×1EÑ1EÀfÈQÁiÓ1PÐ0QÐghÔiÐiô !Ð!IÓJÐJÜ�‹[˜AÒ &¨¡)¨r¢/ô ×+Ñ+¨BÓ/Ð/ä×+Ñ+ÐV\Ö,]ÈU¨T×-AÑ-AÀ%Õ-HÒ,]Ó^Ð^ùÒ,]s   ÄD*c                ó`   — t        j                  t        j                  t        «      dd¬«      S )NÚis_typezInput should be a typer@  )r1   Úcustom_error_schemar  rÃ   rÆ  s    r°   rE  zGenerateSchema._type_schemaí  s)   € Ü×.Ñ.Ü×*Ñ*¬4Ó0Ø'Ø!9ô
ð 	
r²   c                ón   — ddl m} dd„ gi}t        j                  |t        j                  «       |¬«      S )z/Generate schema for a zone_info.ZoneInfo objectrT   )Úvalidate_str_is_valid_iana_tzrñ  c                ó   — dddœS )Nr"  Úzoneinfor#  r  ©r%  r&  s     r°   r  z1GenerateSchema._zoneinfo_schema.<locals>.<lambda>ø  s   € ÀhÐZdÑ=e€ r²   ©rà   rô  )r,  rŠ  r1   r.  Úto_string_ser_schema)r  rŠ  rô  s      r°   rŠ  zGenerateSchema._zoneinfo_schemaô  s8   € å>à+Ñ.eÐ-fÐgˆÜ×;Ñ;Ø)Ü%×:Ñ:Ó<Øô
ð 	
r²   c           	     ó¤   — | j                  |d¬«      }t        j                  |D �cg c]  }| j                  t        |   «      ‘Œ c}«      S c c}w )z*Generate schema for `type[Union[X, ...]]`.Tr‰  )r¬  r1   rF  rÐ  rÃ   )r  r#  rÙ  s      r°   Ú_union_is_subclass_schemaz(GenerateSchema._union_is_subclass_schemaÿ  sF   € à×4Ñ4°ZÈ$Ð4ÓOˆÜ×'Ñ'ÐVZÖ([Èd¨×)=Ñ)=¼dÀ4¹jÕ)IÒ([Ó\Ð\ùÒ([s   §Ac           
     óŽ  — | j                  |«      }t        j                  |«      xs |}t        j                  |«      r| j                  «       S t        j                  |«      r"| j                  t        |j                     «      S t        j                  |«      rÃ|j                  rXt        t        |j                  «      «      r| j                  |j                  «      S t        j                   |j                  «      S |j"                  rCt        j$                  |j"                  D �cg c]  }| j                  t        |   «      ‘Œ c}«      S | j                  «       S t        t        |«      «      r| j                  |«      S t        j&                  |«      r| j)                  |«      }t        j*                  |«      r0t-        d|›dt/        j0                  t        |«      «      › d�d¬«      ‚t3        j4                  |«      s)|€t        j                   t6        «      S t9        d|›�«      ‚t        j                   |«      S c c}w )z-Generate schema for a type, e.g. `type[int]`.z`Subscripting `type[]` with an already parametrized type is not supported. Instead of using type[z], use type[z].Nrµ   zExpected a class, got )r�  rZ   Úannotated_typer7   rE  rE  rì  rÐ  rÃ   r-  Ú
is_typevarÚ	__bound__r:   r5   r‘  r1   Úis_subclass_schemaÚ__constraints__rF  rß  rÁ  Úis_generic_aliasrH   rX   Údisplay_as_typer  rï  r   rÐ   )r  Útype_Ú
type_paramÚcs       r°   r—  zGenerateSchema._subclass_schema  sê  € à×/Ñ/°Ó6ˆ
ô #×1Ñ1°*Ó=ÒKÀˆ
ä× Ñ  Ô,Ø×$Ñ$Ó&Ð&Ü×,Ñ,¨ZÔ8Ø×'Ñ'¬¨Z×-AÑ-AÑ(BÓCÐCÜ×&Ñ& zÔ2Ø×#Ò#Ü"¤:¨j×.BÑ.BÓ#CÔDØ×9Ñ9¸*×:NÑ:NÓOÐOÜ"×5Ñ5°j×6JÑ6JÓKÐKØ×+Ò+Ü"×/Ñ/ÐXb×XrÑXrÖ0sÐST°×1EÑ1EÄdÈ1ÁgÕ1NÒ0sÓtÐtà×(Ñ(Ó*Ð*ÜœZ¨
Ó3Ô4Ø×1Ñ1°*Ó=Ð=ä×%Ñ% jÔ1Ø!×4Ñ4°ZÓ@�
Ü×-Ñ-¨jÔ9Ü'ð-Ø-7¨N¸,Äu×G\ÑG\Ô]gÐhrÓ]sÓGtÐFuÐuwðyàôð ô
 —?‘? :Ô.ð Ð%Ü&×9Ñ9¼(ÓCÐCÜÐ"8¸¸Ð GÓHÐHÜ×1Ñ1°*Ó=Ð=ùò) 1ts   Ä)Ic                ó¦  — ddl m} | j                  |«      }t        j                  |«      }t        |«      }t        j                  t        j                  d¬«      }t        j                  |«      s1ddlm} t        j                  |t        j                  ||«      g«      }t        j                  ||d¬«      }t        j                   |||¬«      S )	z5Generate schema for a Sequence, e.g. `Sequence[int]`.rT   )Úserialize_sequence_via_listÚSequence)Úcls_repr)Úsequence_validatorTrV  )rí  r  rà   )Ú_serializersrž  rÐ  r1   rÏ  r�   r  rô  rŸ  r7   rE  r,  r¡  rZ  rY  r[  r/  )	r  rÒ  rž  Úitem_type_schemarÏ  rí  r  r¡  rà   s	            r°   rY  zGenerateSchema._sequence_schema+  s·   € å=à×/Ñ/°
Ó;ÐÜ!×-Ñ-Ð.>Ó?ˆä$ [Ó1ˆÜ#×6Ñ6´v·±ÐQ[Ô\ˆÜ×$Ñ$ ZÔ0Ý7ä'×4Ñ4Ø¤× KÑ KÐL^Ð`kÓ lÐmóˆMô $×GÑGØ'Ð0@È4ô
ˆô ×0Ñ0Ø#°=ÐP]ô
ð 	
r²   c                ól   — | j                  |«      }t        j                  | j                  |«      «      S )z$Generate a schema for an `Iterable`.)r�  r1   Úgenerator_schemarÐ  )r  rš  Ú	item_types      r°   r^  zGenerateSchema._iterable_schemaB  s.   € à×.Ñ.¨uÓ5ˆ	ä×+Ñ+¨D×,@Ñ,@ÀÓ,KÓLÐLr²   c                óþ  — ddl m} dd„ gi}t        j                  t	        d«      dt        j
                  «       ¬«      }|t        j                  u s|t        j                  u r"t        j                  |j                  ||¬«      S | j                  |d	¬
«      d   }|t        u r"t        j                  |j                  ||¬«      S |t        u r"t        j                  |j                  ||¬«      S t!        d|›d�«      ‚)NrT   )r,  rñ  c                ó   — dddœS )Nr"  Úregexr#  r  r�  s     r°   r  z0GenerateSchema._pattern_schema.<locals>.<lambda>K  s   € ÀhÐZaÑ=b€ r²   Úpatternrã   )rä   Úreturn_schemarŽ  Tr‰  r   rc  r´   )rÔ   r,  r1   ré   r   r  rô  ÚPatternÚrer.  Úpattern_either_validatorr¬  rä  Úpattern_str_validatorr6  Úpattern_bytes_validatorrF   )r  Úpattern_typer,  rô  Úserr€  s         r°   r‡  zGenerateSchema._pattern_schemaH  s  € Ý!à+Ñ.bÐ-cÐdˆÜ×>Ñ>Ü�yÓ!¨VÄ;×CYÑCYÓC[ô
ˆð œ6Ÿ>™>Ñ)¨\¼R¿Z¹ZÑ-Gä×?Ñ?Ø×4Ñ4ÀCÐRZôð ð ×5Ñ5ØØð 6ó 
ð ñˆð ”C‰<Ü×?Ñ?Ø×1Ñ1ÀÈxôð ð ”e‰^Ü×?Ñ?Ø×3Ñ3À3ÐQYôð ô 0Ð2^Ð_kÐ^nÐnoÐ0pÓqÐqr²   c           
     óV  — t        j                  t        j                  t        j                  t        j                  «       t        j
                  t        j                  j                  «      g«      t        j
                  t        j                  j                  «      ¬«      dd¬«      S )Nr  Úis_hashablezInput should be hashable)rÅ   rA  rB  )	r1   rˆ  r/  rZ  rÏ   r  r�  rž  ÚHashablerÆ  s    r°   rq  zGenerateSchema._hashable_schemad  sy   € Ü×.Ñ.Ü×4Ñ4Ü'×4Ñ4Ü ×+Ñ+Ó-¬{×/MÑ/MÌkÏoÉo×NfÑNfÓ/gÐhóô *×<Ñ<¼[¿_¹_×=UÑ=UÓVô	ð ,Ø!;ô	
ð 		
r²   c                óh
  ‡ ‡— t        j                  ||«      }‰ j                  j                  |«      5  ‰ j                  j                  |¬«      5 }|�|cddd«       cddd«       S |j                  j                  d«      }|��t        |t        «      sq|d   dk(  r‰ j                  j                  |«      }t        |«      }|r-‰ j                  j                  |«      cddd«       cddd«       S |cddd«       cddd«       S t        |«      }|�|}t        |dd«      }ddlm}	 ‰ j"                  j                  |«      5  ‰ j$                  j                  |«      5   |	|«      r¤|j'                  «       rk|j(                  j+                  «       D �
�ci c]  \  }
}|
t-        |«      “Œ }}
}|rt|j/                  «       D ]  } |j0                  |g‰ j2                  ¢­Ž  Œ! nA	 t5        |‰ j6                  ‰ j"                  |xs i ¬	«      }nt?        ||‰ j6                  ¬
«      }‰ j6                  j@                  dk(  r7|j+                  «       D ]$  \  }}|jB                  du sŒtE        d|› d�d¬«      ‚ |j                  j                  d«      Š‰€2tG        jH                  |d¬«      Š‰jK                  ‰ j6                  «       tM        ˆˆ fd„|j+                  «       D «       d„ ¬«      }tO        |d«      }tO        |d«      }tQ        jR                  |jT                  |‰jV                  j/                  «       D �cg c]  }‰ jY                  |‰jZ                  «      ‘Œ  c}|¬«      }t]        |‰j^                  j/                  «       «      }‰j`                  j/                  «       }tc        ||d«      }‰ j6                  je                  |jT                  ¬«      }tQ        jf                  |||||t        jh                  |«      D �cg c]  }|jj                  ‘Œ c}||‰ j$                  jl                  jn                  ¬«	      }‰ jq                  |‰jr                  j/                  «       «      }tc        ||d«      }‰ j                  j                  |«      cddd«       cddd«       cddd«       cddd«       S c c}}
w # t8        $ r}t;        j<                  |«      |‚d}~ww xY wc c}w c c}w # 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       n# 1 sw Y   nxY wddd«       y# 1 sw Y   yxY w)z Generate schema for a dataclass.r}  Nr~  rÃ   r  r9  r;   )Úis_pydantic_dataclassr†  )r  r  rˆ  FzField zd has `init=False` and dataclass has config setting `extra="allow"`. This combination is not allowed.z dataclass-init-false-extra-allowrµ   r¥  r:  c              3  óJ   •K  — | ]  \  }}‰j                  ||‰«      –— Œ y ­wr¿   )r  )rÕ  rÜ   rÝ   r»   r  s      €€r°   r×  z3GenerateSchema._dataclass_schema.<locals>.<genexpr>À  s$   øè ø€ ÒaÉ$È!ÈQ�T×3Ñ3°A°q¸*×EÑaùs   ƒ #c                ó(   — | j                  d«      duS )Nr£   F)rÍ   )rÖ  s    r°   r  z2GenerateSchema._dataclass_schema.<locals>.<lambda>Á  s   €  !§%¡%¨	Ó"2¸%Ð"?€ r²   )ÚkeyÚ__post_init__Ú	__slots__)r–  Úcollect_init_onlyrŽ  r�  )r‘  r”  ró  r­   Úslotsr•  r    rš  ):rY   rN  r
  r   r  rœ  rò   rÍ   r  rz   r�  r_   rž  rv   rå   rø  r·  r  r  r¢  r‚  rÙ   r
   r   Úapply_typevars_maprÊ  rp   rÇ  r£  rG   r¤  ro   rZ  r¡   rH   rb   rR  rS  ÚsortedÚhasattrr1   Údataclass_args_schemarÿ   r–  r³  r§  rÎ   r´  rª  r¯  r¡  Údataclass_schemar­   r„  rÅ  r    rµ  r¶  )r  Ú	dataclassrz  Údataclass_refr¹  rÅ   ró  r  r•  r·  Úf_namer  r­   r¯   r:  r`  rÙ  Úhas_post_initÚ	has_slotsr½  Úargs_schemarÒ   rª  r¡  Ú	dc_schemar»   s   `                        @r°   rú  z GenerateSchema._dataclass_schemap  s"  ù€ ô #×1Ñ1°)¸VÓDˆà×!Ñ!×&Ñ& yÓ1ñq	Là�I‰I×/Ñ/°MÐ/ÓBðq	LàFRàÐ'Ø#÷q	L÷ q	Lò q	Lð ×'Ñ'×+Ñ+Ð,FÓGˆFØÐ!¬*°V¼^Ô*LØ˜&‘> ]Ò2Ø!ŸY™Y×9Ñ9¸&ÓA�FÜ˜f“o�ÙØŸ9™9×GÑGÈÓO÷q	L÷ q	Lò q	Lð "÷q	L÷ q	Lò q	Lô" 5°YÓ?ˆLØÐ!Ø"�	ô
 ˜YÐ(=¸tÓDˆFå;à×"Ñ"×'Ñ'¨	Ó2ñ UL°D×4NÑ4N×4SÑ4SÐTZÓ4[ñ ULÙ(¨Ô3Ø ×=Ñ=Ô?ð PY×OlÑOl×OrÑOrÓOt÷"Ù9K¸À˜F¤D¨Ó$4Ñ4ð"˜ñ "ñ (Ø)/¯©«ò _ Ø 8 × 8Ñ 8¸Ð ^È×H]ÑH]Ô ^ñ_ðXÜ%=Ø )Ø/3×/CÑ/CØ,0×,=Ñ,=Ø-9Ò-?¸Rô	&™Fô 6Ø!Ø%1Ø'+×';Ñ';ô�Fð ×'Ñ'×-Ñ-°Ò8à-3¯\©\«^ò Ñ)˜
 EØ Ÿ:™:¨Ò.Ü"3Ø"(¨¨ð 5Cð !Dà%Gô#ð ðð '×/Ñ/×3Ñ3Ð4MÓN�
ØÐ%Ü!/×!5Ñ!5°iÐY^Ô!_�JØ×1Ñ1°$×2FÑ2FÔGô ÜaÐRX×R^ÑR^ÓR`ÔaÙ?ô�ô !(¨	°?Ó C�Ü# I¨{Ó;�	ä)×?Ñ?Ø×&Ñ&Øð ",×!;Ñ!;×!BÑ!BÓ!Dö%àð ×3Ñ3°A°z×7SÑ7SÕTò%ð '4ô�ô  0°¸Z×=WÑ=W×=^Ñ=^Ó=`Óa�à#-×#>Ñ#>×#EÑ#EÓ#GÐ Ü5°lÐDTÐV]Ó^�à"×2Ñ2×>Ñ>ÀY×EWÑEWÐ>ÓX�ä'×8Ñ8ØØ Ø#)Ø+Ø%Ü4?×4FÑ4FÀyÓ4QÖR¨5˜EŸJ›JÒRØ#Ø&ð  ×5Ñ5×:Ñ:×AÑAô�	ð ×6Ñ6°yÀ*×B^ÑB^×BeÑBeÓBgÓh�Ü/°Ð8HÈ'ÓR�Ø—y‘y×CÑCÀFÓK÷kUL÷ ULñ UL÷9q	L÷ q	Lò q	LùóF"øô  )ò XÜ"=×"MÑ"MÈaÓ"PÐVWÐWûðXüòF%ùò( S÷YULð ULú÷ UL÷ ULñ ULú÷9q	L÷ q	Lñ q	Lú÷ q	L÷ q	Lñ q	LúsÜ   ´T(ÁTÁ	T(Á(A7TÃ	T(Ã2TÃ3	T(Ä=TÅS>Å6S)	ÆR2Æ+8S)	Ç$'R8ÈAS)	É"CS)	Ì8#SÍB%S)	Ð S$ÐA:S)	Ò	S>Ò	TÒ	T(Ò2S)	Ò8	SÓSÓSÓS)	Ó)S2Ó.S>Ó5	TÓ>TÔTÔ
	T(ÔT	ÔT(Ô(T1c                ó`  — | j                  |«      }d}| j                  }|j                  rlt        j                  |«      }|j
                  }||j                  ur=| j                  \  }}t        j                  |||dh¬«      }	| j                  |	d   «      }t        j                  |||¬«      S )zsGenerate schema for a Callable.

        TODO support functional validators once we support them in Config
        Nrý  )ÚglobalnsÚlocalnsÚinclude_keys)r«  )Ú_arguments_schemarÇ  Úvalidate_returnrZ   Úsignature_no_evalÚreturn_annotationrm  rÊ  Úget_function_type_hintsrÐ  r1   Úcall_schema)
r  ÚfunctionÚarguments_schemar«  r  ÚsigÚreturn_hintrÌ  rÍ  Ú
type_hintss
             r°   r÷  zGenerateSchema._call_schemaè  s´   € ð
  ×1Ñ1°(Ó;Ðà7;ˆØ×-Ñ-ˆØ×)Ò)Ü×1Ñ1°(Ó;ˆCØ×/Ñ/ˆKØ #§)¡)Ñ+Ø$(×$9Ñ$9Ñ!�˜'Ü*×BÑBØ x¸ÐPXÈzô�
ð !%× 4Ñ 4°ZÀÑ5IÓ J�ä×&Ñ&ØØØ'ô
ð 	
r²   c                óD  — t         j                  dt         j                  dt         j                  di}t	        j
                  |«      }| j                  \  }}t	        j                  |||¬«      }g }d}	d}
d}| j                  j                  d¬«      }t        |j                  j                  «       «      D �]9  \  }\  }}|j                  |j                  u rt        j                   t"        t"        «      }n||   }|� ||||«      }|dk(  rŒX|j%                  |j&                  «      }|�?| j)                  ||t*        j,                  |j.                  |«      }|j1                  |«       Œ´|j&                  t         j2                  k(  r| j5                  |«      }	Œã|j&                  t         j6                  k(  sJ |j&                  «       ‚t	        j8                  |«      }|�ÿt;        |«      xs |}t=        |«      st?        d|›�d	¬
«      ‚|j                  j                  «       D ��ch c]%  \  }}|j&                  t         j                  k7  sŒ$|’Œ' }}}|jA                  |jB                  «      }|rOt?        d|jD                  ›dtG        |«      dk\  rdnd› ddjI                  d„ tK        |«      D «       «      › �d¬
«      ‚d}| jM                  |t;        |«      «      }
�Œ'd}| j5                  |«      }
�Œ< tO        jP                  ||	||
|j%                  d«      ¬«      S c c}}w )z Generate schema for a Signature.Úpositional_onlyÚpositional_or_keywordÚkeyword_only©rÌ  rÍ  Nr�  r“   ú7Expected a `TypedDict` class inside `Unpack[...]`, got úunpack-typed-dictrµ   úTyped dictionary ú overlaps with parameterr;   r'  rÔ   rH  rB  c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr¿   rD  ©rÕ  Úps     r°   r×  z3GenerateSchema._arguments_schema.<locals>.<genexpr><  ó   è ø€ Ò(U°Q¬¨a¯Ñ(UùrF  úoverlapping-unpack-typed-dictzunpacked-typed-dictÚuniformÚvalidate_by_name)Úvar_args_schemaÚvar_kwargs_modeÚvar_kwargs_schemaré  ))r   ÚPOSITIONAL_ONLYÚPOSITIONAL_OR_KEYWORDÚKEYWORD_ONLYrZ   rÑ  rÊ  rÓ  rÇ  r¡  Ú	enumerateÚ
parametersrÙ   r«  rm  rô  r&   r    rÍ   Úkindrz  r8   ÚFUNCTIONrš   rq  ÚVAR_POSITIONALrÐ  ÚVAR_KEYWORDÚunpack_typer5   r6   rH   ÚintersectionÚ__annotations__rÿ   rÜ  rY  rÀ  rî  r1   rÖ  )r  rÕ  Úparameters_callbackÚmode_lookupr×  rÌ  rÍ  rÙ  Úarguments_listrê  rì  rë  r¡  Úir„  rå  r«  ÚresultÚparameter_modeÚ
arg_schemarö  rz  Únon_pos_only_param_namesÚoverlapping_paramss                           r°   rÏ  z GenerateSchema._arguments_schema  s  € ô
 ×%Ñ%Ð'8Ü×+Ñ+Ð-DÜ×"Ñ" Nðr
ˆô ×-Ñ-¨hÓ7ˆØ ×1Ñ1Ñˆ�'Ü"×:Ñ:¸8ÈhÐ`gÔhˆ
à?AˆØ9=ˆØ;?ÐØ<@ˆà×*Ñ*×6Ñ6¸TÐ6ÓBˆä% c§n¡n×&:Ñ&:Ó&<Ó=ó .	I‰LˆA‰y��aØ�|‰|˜sŸy™yÑ(Ü#Ÿ[™[¬¬cÓ2‘
à'¨Ñ-�
à"Ð.Ù,¨Q°°jÓA�Ø˜VÒ#Øà(Ÿ_™_¨Q¯V©VÓ4ˆNØÐ)Ø!×<Ñ<Ø˜*Ô&6×&?Ñ&?ÀÇÁÈNó�
ð ×%Ñ% jÕ1Ø—‘œ9×3Ñ3Ò3Ø"&×"6Ñ"6°zÓ"B‘à—v‘v¤×!6Ñ!6Ò6Ð>¸¿¹Ó>Ð6ä+×7Ñ7¸
ÓC�ØÐ*Ü'¨Ó4ÒC¸�FÜ'¨Ô/Ü/ØUÐVaÐUdÐeØ!4ôð ð
 -0¯N©N×,@Ñ,@Ó,B÷0Ù!(  qÀaÇfÁfÔPY×PiÑPiÓFišð0Ð,ñ 0ð *B×)NÑ)NÈv×OeÑOeÓ)fÐ&Ù)Ü/Ø/°·±Ð/BÐBZÜ&)Ð*<Ó&=ÀÒ&B™sÈÐKÈ1Ø#Ÿy™yÑ(U¼&ÐASÓ:TÔ(UÓUÐVðXð "Aô	ð ð '<�OØ(,×(?Ñ(?ÀÌZÐXcÓMdÓ(eÒ%à&/�OØ(,×(<Ñ(<¸ZÓ(HÒ%ð].	Iô` ×+Ñ+ØØ+Ø+Ø/Ø(Ÿ_™_Ð-?Ó@ô
ð 	
ùó%0s   È%%LÉLc                ó¸  — t         j                  dt         j                  dt         j                  dt         j                  di}t        j                  |«      }| j                  \  }}t        j                  |||¬«      }g }| j                  j                  d ¬«      }	t        |j                  j                  «       «      D �]ì  \  }
\  }}|� ||
||j                  «      }|dk(  rŒ&|j                  t         j                  u rt!        j"                  t$        t$        «      }n||   }|j'                  |j(                  «      }|�€,|j(                  t         j*                  k(  sJ |j(                  «       ‚t        j,                  |«      }|�åt/        |«      xs |}t1        |«      st3        d|›�d	¬
«      ‚|j                  j                  «       D ��ch c]%  \  }}|j(                  t         j                  k7  sŒ$|’Œ' }}}|j5                  |j6                  «      }|rOt3        d|j8                  ›dt;        |«      dk\  rdnd› ddj=                  d„ t?        |«      D «       «      › �d¬
«      ‚d}|}nd}|jA                  | jC                  |tD        jF                  |jH                  ¬«      «       �Œï tK        jL                  ||	j'                  d«      ¬«      S c c}}w )NrÛ  rÜ  Úvar_argsrÝ  rÞ  r�  r“   rß  rà  rµ   rá  râ  r;   r'  rÔ   rH  rB  c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wr¿   rD  rä  s     r°   r×  z6GenerateSchema._arguments_v3_schema.<locals>.<genexpr>€  ræ  rF  rç  Úvar_kwargs_unpacked_typed_dictÚvar_kwargs_uniformrh  ré  )ré  )'r   rí  rî  rô  rï  rZ   rÑ  rÊ  rÓ  rÇ  r¡  rð  rñ  rÙ   r«  rm  rô  r&   r    rÍ   rò  rõ  rö  r5   r6   rH   r÷  rø  rÿ   rÜ  rY  rÀ  rq  r}  r8   ró  rš   r1   Úarguments_v3_schema)r  rÕ  rù  rú  r×  rÌ  rÍ  rÙ  Úparameters_listr¡  rü  r„  rå  rý  r«  rþ  rö  rz  r   r  s                       r°   Ú_arguments_v3_schemaz#GenerateSchema._arguments_v3_schemaN  s¸  € ô ×%Ñ%Ð'8Ü×+Ñ+Ð-DÜ×$Ñ$ jÜ×"Ñ" Nð	
ð 	ô ×-Ñ-¨hÓ7ˆØ ×1Ñ1Ñˆ�'Ü"×:Ñ:¸8ÈhÐ`gÔhˆ
àBDˆØ×*Ñ*×6Ñ6¸TÐ6ÓBˆä% c§n¡n×&:Ñ&:Ó&<Ó=ó +	‰LˆA‰y��aØ"Ð.Ù,¨Q°°a·l±lÓC�Ø˜VÒ#Øà�|‰|œyŸ™Ñ.Ü#Ÿ[™[¬¬cÓ2‘
à'¨Ñ-�
à(Ÿ_™_¨Q¯V©VÓ4ˆNØÑ%Ø—v‘v¤×!6Ñ!6Ò6Ð>¸¿¹Ó>Ð6ä+×7Ñ7¸
ÓC�ØÐ*Ü'¨Ó4ÒC¸�FÜ'¨Ô/Ü/ØUÐVaÐUdÐeØ!4ôð ð
 -0¯N©N×,@Ñ,@Ó,B÷0Ù!(  qÀaÇfÁfÔPY×PiÑPiÓFišð0Ð,ñ 0ð *B×)NÑ)NÈv×OeÑOeÓ)fÐ&Ù)Ü/Ø/°·±Ð/BÐBZÜ&)Ð*<Ó&=ÀÒ&B™sÈÐKÈ1Ø#Ÿy™yÑ(U¼&ÐASÓ:TÔ(UÓUÐVðXð "Aô	ð ð &F�NØ!,‘Jà%9�Nà×"Ñ"Ø×2Ñ2Ø˜*Ô&6×&?Ñ&?ÀÐYZ×YbÑYbð 3ó öðO+	ôZ ×.Ñ.ØØ(Ÿ_™_Ð-?Ó@ô
ð 	
ùó-0s   Ç%KÇ6Kc                óv  — 	 |j                  «       }|r| j                  |j                  «      S |j                  x}r"| j                  t        j                  |   «      S |j                  x}r+| j                  |«      }t        j                  d«      |d<   |S t        j                  «       S # t        $ r Y Œˆw xY w)Nr5  rà   )Úhas_defaultrÐ  Ú__default__rP  r—  rà  rô  ÚUnionr•  r1   r  rÏ   )r  Útypevarr  Úconstraintsr�   rÅ   s         r°   rõ  z,GenerateSchema._unsubstituted_typevar_schema“  s»   € ð	AØ!×-Ñ-Ó/ˆKñ
 Ø×+Ñ+¨G×,?Ñ,?Ó@Ð@à!×1Ñ1Ð1ˆ;Ð1Ø×%Ñ%¤f§l¡l°;Ñ&?Ó@Ð@à×%Ñ%Ð%ˆ5Ð%Ø×)Ñ)¨%Ó0ˆFÜ&1×&CÑ&CÀEÓ&JˆF�?Ñ#ØˆMä×%Ñ%Ó'Ð'øô ò 	áð	ús   ‚B, Â,	B8Â7B8c                óJ  — |j                   j                  t        ur|j                   j                  }n6	 t        j                  |j
                  | j                  j                  ¬«      }|t        u rt        dd¬«      ‚t        || j                  «      }t        j                  |j                   |¬«      |_         | j!                  |«      }| j#                  |t%        |j'                  «       |j(                  «      «      }t+        |j                   «      \  }}i }t-        |ddi|r|ni ¥|¬«       |j                   j.                  }	t1        j2                  |j(                  ||j                   j4                  |	|¬	«      S # t        $ r}t        j                  |«      |‚d }~ww xY w)
N©rÍ  zŸComputed field is missing return type annotation or specifying `return_type` to the `@computed_field` decorator (e.g. `@computed_field(return_type=int | str)`)zmodel-field-missing-annotationrµ   )Úreturn_typeÚreadOnlyTr  )r«  r—   r   rô  )r®   r  r/   rU   Úget_callable_return_typeÚfuncrÊ  Úlocalsr£  rG   r¤  rH   rw   r  rø  ÚreplacerÐ  r  rÁ   r   rº   rÞ   r^   r  r1   Úcomputed_fieldr—   )
r  r½  r§  r  r:  Úreturn_type_schemar�  r  r  r  s
             r°   r³  z%GenerateSchema._computed_field_schema§  s…  € ð
 �6‰6×ÑÔ%6Ñ6ØŸ&™&×,Ñ,‰KðLô *×BÑBÀ1Ç6Á6ÐSW×ShÑSh×SoÑSoÔp�ð Ô+Ñ+Ü#ðfà5ôð ô $ K°×1CÑ1CÓDˆô ×$Ñ$ Q§V¡V¸ÔEˆŒØ!×1Ñ1°+Ó>Ðà!×:Ñ:ØÜ0Ð1B×1IÑ1IÓ1KÈQÏ^É^Ó\ó
Ðô
 2[Ð[\×[aÑ[aÓ1bÑ.ÐÐ.Ø(*ˆÜØØ!+¨TÐ jÑM`Ñ6IÐfhÐ jØ/õ	
ð
 —V‘V×&Ñ&ˆ
ä×)Ñ)Ø�N‰NØ,Ø—&‘&—,‘,Ø%/Ø"ô
ð 	
øô; ò LÜ1×AÑAÀ!ÓDÈ!ÐKûðLús   µ5E> Å>	F"ÆFÆF"c                ó¨   — t        «       }| j                  |d¬«      ^}}| j                  ||«      }|D ]  }t        ||«      sŒt	        ||«      }Œ |S )zdGenerate schema for an Annotated type, e.g. `Annotated[int, Field(...)]` or `Annotated[int, Gt(0)]`.Tr‰  )ry   r¬  r  r  r  )r  r“  rƒ   r  r   rÅ   r«  s          r°   râ  z GenerateSchema._annotated_schemaÙ  sm   € ä,Ó.ˆ	Ø$(×$IÑ$IØØð %Jó %
Ð!ˆ�kð ×(Ñ(¨°kÓBˆð &ò 	:ˆJÜ˜* iÕ0Ü% j°&Ó9‘ð	:ð ˆr²   c                ó   — | S r¿   r  rç  s    r°   r  zGenerateSchema.<lambda>ì  s   € Èq€ r²   c                óB  ‡ ‡‡— t        t        j                  |«      «      }g }dˆ ˆˆfd„}t        |‰ «      }|D ]  }|€Œ‰ j	                  ||||¬«      }Œ  |‰«      }	|r|	j                  di «      }
t        |
|¬«       t        ‰ j                  j                  ‰|	«      S )a„  Apply arguments from `Annotated` or from `FieldInfo` to a schema.

        This gets called by `GenerateSchema._annotated_schema` but differs from it in that it does
        not expect `source_type` to be an `Annotated` object, it expects it to be  the first argument of that
        (in other words, `GenerateSchema._annotated_schema` just unpacks `Annotated`, this process it).
        c                óô   •— t        | «      }d }|€‰j                  | ‰«      }|€‰j                  | |«      }t        |�|n| «      }|�*t	        |‰j
                  «      }|�‰j                  ||«        ‰|«      S r¿   )r5   rv  rw  rx  ry  r  rt  )r  rz  rÅ   r{  rr  r  r  r  s        €€€r°   Úinner_handlerz8GenerateSchema._apply_annotations.<locals>.inner_handlerù  s�   ø€ Ü “_ˆFØ(,ˆFØˆ~ð ×EÑEÀcÈ;ÓW�àˆ~Ø×4Ñ4°S¸&ÓA�ô $EÈvÐOaÁVÐgjÓ#kÐ Ø#Ð/Ü"9¸&À$Ç)Á)Ó"L�Ø"Ð.Ø×)Ñ)¨/Ð;OÔPÙ)¨&Ó1Ð1r²   rr  rô  )Ú pydantic_js_annotation_functions©r  r    rý  r+   )
rþ  rW   Úexpand_grouped_metadatar   Ú_get_wrapped_inner_schemarp  r^   rî   rÇ  rê   )r  r  r   r  rs  r  r  Úget_inner_schemar«  rÅ   r  s   `` `       r°   r  z!GenerateSchema._apply_annotationsè  s¸   ú€ ô Ô4×LÑLÈ[ÓYÓZˆàHJÐ(÷	2ô& 8¸ÀtÓLÐà%ò 	ˆJØÐ!ØØ#×=Ñ=Ø ØØ0Ø8_ð	  >ó  Ñð	ñ " +Ó.ˆÙ+Ø"×-Ñ-¨j¸"Ó=ˆMÜ  ÐQqÕrÜ;¸D×<PÑ<P×<^Ñ<^Ð`kÐmsÓtÐtr²   c           
     ó¶  — t        «       }t        ||«      rá|r’t        |«      |u r…| j                  |«      x}D ]*  \  }}t	        j
                  d|›d|›d|›d�t        ¬«       Œ, |j                  r9| j                  j                  «       €d|vrt	        j
                  dt        ¬«       |j                  D ]  }| j                  ||«      }Œ |j                  �| j                  ||j                  «      }|S |d   d	k(  r?|j                  d
t        j                  «       «      }	| j                  |	|«      }	|	r|	|d
<   |S |d   dk(  r.|j                  d
«      x}	�| j                  |	|«      }	|	r|	|d
<   |S |}
|j                  d«      }|�F|j!                  «       }|dt#        |«      › �z   }| j$                  j'                  |«      x}�|S ||d<   no|d   dk(  rg|d   }| j$                  j'                  |«      x}�E|j!                  «       }|dt#        |«      › �z   }| j$                  j'                  |«      x}�|S ||d<   t)        j*                  ||«      }|�|S |
S )NzThe z attribute with value zY was provided to the `Field()` function, which has no effect in the context it was used. a   is field-specific metadata, and can only be attached to a model field using `Annotated` metadata or by assignment. This may have happened because an `Annotated` type alias using the `type` statement was used, or if the `Field()` function was attached to a single member of a union type.rQ  Údefaut_factoryzŸA 'default_factory' taking validated data as an argument was provided to the `Field()` function, but no validated data is available in the context it was used.rÃ   rÄ   rÅ   rÆ   ró  rø  údefinition-refrÞ  )ry   r  rÃ   Ú&_get_unsupported_field_info_attributesrç   rè   rS   Ú$default_factory_takes_validated_datar
  rÍ   rô  Ú_apply_single_annotationrj  rk  r1   rÏ   r
   rž   r  Úget_schema_from_refrW   Úapply_known_metadata)r  rÅ   rô  rs  rƒ   Úunsupported_attributesÚattrrõ  Úfield_metadatarŽ  rî  ró  Únew_refÚexistingÚreferenced_schemaÚmaybe_updated_schemas                   r°   r)  z'GenerateSchema._apply_single_annotation	  s«  € ô -Ó.ˆ	ä�h 	Ô*á7ô ˜“N iÑ/à>B×>iÑ>iÐjrÓ>sÐ$sÐ$:ò ‘K�D˜%Ü—M‘MØ˜t˜hÐ&<¸U¸Ið FKØKOÈ(ð Snðnô
 "Böðð ×AÒAØ×-Ñ-×1Ñ1Ó3Ð;Ø(Ð0FÑFä—M‘MðYä!Aõð #+×"3Ñ"3ò O�Ø×6Ñ6°v¸~ÓN‘ðOð ×%Ñ%Ð1Ø×;Ñ;¸FÀH×DZÑDZÓ[�ØˆMà�&‰>˜ZÒ'à—J‘J˜x¬×)?Ñ)?Ó)AÓBˆEØ×1Ñ1°%¸ÓBˆEÙØ#(��xÑ ØˆMà�&‰>Ð/Ò/¸f¿j¹jÈÓ>RÐ5R°UÐ4_à×1Ñ1°%¸ÓBˆEÙØ#(��xÑ ØˆMà ˆØ�j‰j˜ÓˆØˆ?Ø—[‘[“]ˆFØ˜a¤ X£Ð/Ð0Ñ0ˆGØ ŸI™I×9Ñ9¸'ÓBÐB�ÐOØ�Ø#ˆF�5ŠMØ�F‰^Ð/Ò/Ø˜Ñ&ˆCØ%)§Y¡Y×%BÑ%BÀ3Ó%GÐGÐ!ÐTØ*×/Ñ/Ó1�Ø !¤D¨£NÐ#3Ð 4Ñ4�Ø $§	¡	× =Ñ =¸gÓ FÐF�HÐSØ#�OØ '��u‘ä8×MÑMÈhÐX^Ó_ÐàÐ+Ø'Ð'ØÐr²   c                óÔ   — t        «       }t        ||«      rQ|j                  D ]  }| j                  ||«      }Œ t	        |«      \  }}|j                  di «      }t        |||¬«       |S )Nrô  r  )ry   r  rô  Ú$_apply_single_annotation_json_schemarÞ   rp  r^   )r  rÅ   rô  rƒ   r.  r�  r  r  s           r°   r4  z3GenerateSchema._apply_single_annotation_json_schemao	  s~   € ô -Ó.ˆ	ä�h 	Ô*Ø"*×"3Ñ"3ò [�Ø×BÑBÀ6È>ÓZ‘ð[ô 6_Ð_gÓ5hÑ2ÐÐ!2Ø"×-Ñ-¨j¸"Ó=ˆMÜ ØÐ3FÐZkõð ˆr²   c                óÒ   — g }t         D ][  \  }}t        ||«      x}|usŒ|dvs| j                  j                  «       €Œ6|dvsd|j                  vsŒI|j                  ||f«       Œ] |S )zoGet the list of unsupported `FieldInfo` attributes when not directly used in `Annotated` for field annotations.)rš   r›   )r˜   r™   r—   )r¥   rå   r
  rÍ   Ú_attributes_setrq  )r  r  Úunused_metadataÚunused_metadata_nameÚunset_valueÚunused_metadata_values         r°   r'  z5GenerateSchema._get_unsupported_field_info_attributes	  s�   € à13ˆÜ1\ò 	VÑ-Ð  +ä*1°*Ð>RÓ*SÐSÐ&Ð\gÒgð )Ð0NÑNØ×,Ñ,×0Ñ0Ó2Ñ>ð )Ð0[Ñ[Ø j×&@Ñ&@Ò@ð  ×&Ñ&Ð(<Ð>SÐ'TÕUð	Vð" Ðr²   c                óV   ‡ ‡‡‡‡‡— t        ‰dd «      Šdˆˆˆˆˆˆ fd„}t        |‰ «      S )NrÃ  c                ó¸   •— ‰�
 ‰| ‰«      }n. ‰| «      }‰j                  |‰‰¬«      }‰j                  |‰«      }t        ‰«      }|�‰j                  |«       |S )Nrr  )r)  r4  rx  rq  )	rD  rÅ   r{  r«  Úannotation_get_schemars  r#  r  r  s	      €€€€€€r°   Únew_handlerz=GenerateSchema._get_wrapped_inner_schema.<locals>.new_handlerž	  sw   ø€ Ø$Ð0Ù.¨vÐ7GÓH‘á)¨&Ó1�Ø×6Ñ6ØØØ<cð 7ó �ð
 ×BÑBÀ6È:ÓV�ä#DÀZÓ#PÐ Ø#Ð/Ø0×7Ñ7Ð8LÔMØˆMr²   )rD  r    rý  úcore_schema.CoreSchema)rå   r   )r  r#  r«  r  rs  r>  r=  s   ````` @r°   r"  z(GenerateSchema._get_wrapped_inner_schema•	  s0   ý€ ô ?FÀjÐRpÐrvÓ>wÐ÷	ò 	ô" ,¨K¸Ó>Ð>r²   c                ó¼  — |�r±t        |«      }|d   dk(  r|d   }| j                  ||«      |d<   |S d|v r| j                  j                  |«      }|d   }t	        |j
                  |j                  j                  «      \  }}|j                  j                  t        ur|j                  j                  }n6	 t        j                  |j
                  | j                  j                  ¬«      }|t        u rd}	n| j#                  |«      }	|j                  j                  dk(  r=t%        j&                  |j
                  |||	|j                  j(                  ¬	«      |d
<   |S |j                  j                  dk(  sJ ‚t%        j*                  |j
                  |||	|j                  j(                  ¬	«      |d
<   |S # t        $ r}t        j                   |«      |‚d}~ww xY w)z$Apply field serializers to a schema.rÃ   r  rÅ   ró  râ   r  Nr©   )Úis_field_serializerr   r«  rä   rà   r¨   )r
   r  r  rž  rj   r  r®   r  r  r/   rU   r  rÊ  r  r£  rG   r¤  rÐ  r1   r[  rä   ré   )
r  rÅ   ÚserializersrÒ   Ú
serializerrA  r   r  r:  r«  s
             r°   r  z'GenerateSchema._apply_field_serializers±	  s¿  € ò Ü˜&“\ˆFØ�f‰~ Ò.Ø% hÑ/�Ø#'×#@Ñ#@ÀÈ{Ó#[��xÑ Ø�Ø˜&‘ØŸ™×EÑEÀfÓM�ð % R™ˆJÜ,DÀZÇ_Á_ÐV`×VeÑVe×VjÑVjÓ,kÑ)Ð à�‰×*Ñ*Ô2CÑCØ(Ÿo™o×9Ñ9‘ðPô #.×"FÑ"FØ"Ÿ™°×1FÑ1F×1MÑ1Mô#�Kð Ô/Ñ/Ø $‘à $× 4Ñ 4°[Ó A�à�‰×#Ñ# vÒ-Ü*5×*YÑ*YØ—O‘OØ(;Ø%Ø"/Ø(Ÿo™o×7Ñ7ô+��Ñ'ð  ˆð "—‘×+Ñ+¨wÒ6Ð6Ð6Ü*5×*ZÑ*ZØ—O‘OØ(;Ø%Ø"/Ø(Ÿo™o×7Ñ7ô+��Ñ'ð ˆøô3 !ò PÜ5×EÑEÀaÓHÈaÐOûðPús   Â85F7 Æ7	GÇ GÇGc                ó   — |j                  dd«      }|�rJt        |«      d   }t        |j                  |j                  j
                  «      }|j                  j                  t        ur|j                  j                  }n6	 t        j                  |j                  | j                  j                  ¬«      }|t        u rd}n| j                  |«      }|j                  j
                  dk(  r8t!        j"                  |j                  |||j                  j$                  ¬«      }	n7t!        j&                  |j                  |||j                  j$                  ¬«      }	|	|d<   |r||d<   |S # t        $ r}t        j                  |«      |‚d}~ww xY w)z$Apply model serializers to a schema.ró  Nrâ   r  r©   )r   r«  rä   rà   )Úpoprþ  rk   r  r®   r  r  r/   rU   r  rÊ  r  r£  rG   r¤  rÐ  r1   r[  rä   ré   )
r  rÅ   rB  ró  rC  r   r  r:  r«  Ú
ser_schemas
             r°   rµ  z'GenerateSchema._apply_model_serializersé	  s[  € ð !Ÿ*™* U¨DÓ1ˆÚÜ˜kÓ*¨2Ñ.ˆJÜ/°
·±ÀÇÁ×AUÑAUÓVˆHà�‰×*Ñ*Ô2CÑCØ(Ÿo™o×9Ñ9‘ðPô #.×"FÑ"FØ"Ÿ™°×1FÑ1F×1MÑ1Mô#�Kð Ô/Ñ/Ø $‘à $× 4Ñ 4°[Ó A�à�‰×#Ñ# vÒ-Ü4?×4cÑ4cØ—O‘OØ%Ø"/Ø(Ÿo™o×7Ñ7ô	5‘
ô )×MÑMØ—O‘OØ%Ø"/Ø(Ÿo™o×7Ñ7ô	�
ð '1ˆF�?Ñ#ÙØˆF�5‰MØˆøô5 !ò PÜ5×EÑEÀaÓHÈaÐOûðPús   Â5E) Å)	FÅ2FÆF)NN)r  r[   r  zNsResolver | Noner  zMapping[TypeVar, Any] | Nonerý  ÚNone©rý  rG  )rý  r[   )rý  r{   )rý  rØ   )rÒ  r    rý  r+   )rÖ  r    r×  r    rý  r+   )rÖ  r    rý  r+   )rû  z
type[Enum]rý  r+   )rë   r    rý  r+   )rë   r    r5  r    rý  r+   )rë   r    rÖ  r    r×  r    rý  r+   r   )rÅ   r+   rj  zstr | Discriminator | Nonerý  r+   r  )rr  r+   rs  zCallable[..., Any]rý  rG  )r  r    rý  r?  )rÃ  ztype[BaseModel]rý  r?  )r  r    rý  r    )r  r    rD  r    rý  zcore_schema.CoreSchema | None)r  r    rŠ  zLiteral[True]rý  ztuple[Any, ...])r  r    rý  útuple[Any, ...] | None)F)r  r    rŠ  rØ   rý  rI  )r  r    rý  ztuple[Any, Any])r  r    rz  z
Any | Nonerý  r?  )r  r    rz  r    rý  r?  )r  r    rz  r    rý  r+   )
r„  rä  r  rƒ   r»   rb   rŠ  rØ   rý  zcore_schema.TypedDictField)r„  rä  r  rƒ   r»   rb   rý  zcore_schema.ModelField)r„  rä  r  rƒ   r»   rb   rý  zcore_schema.DataclassField)r„  rä  r  rƒ   r»   rb   rý  z!tuple[CoreSchema, dict[str, Any]])r#  r    rý  r?  )r  r3   rý  r+   )r6  r    rý  r+   )rø   r    rz  r    rý  r?  )rn  r    rz  r    rý  r?  )r„  rä  r«  r    rš   r    rý  zcore_schema.NamedTupleField)r„  rä  r«  ú	type[Any]rD  r8   rš   r    r  zJLiteral['positional_only', 'positional_or_keyword', 'keyword_only'] | Nonerý  zcore_schema.ArgumentsParameter)r„  rä  r«  r    rD  r8   r  z‡Literal['positional_only', 'positional_or_keyword', 'keyword_only', 'var_args', 'var_kwargs_uniform', 'var_kwargs_unpacked_typed_dict']rš   r    rý  z core_schema.ArgumentsV3Parameter)r„  r    rý  r?  )rý  r?  )rš  r    rý  r?  )rÒ  r    rý  r?  )rš  r    rý  zcore_schema.GeneratorSchema)r±  r    rý  r?  )rÄ  ztype[StandardDataclass]rz  ztype[StandardDataclass] | Nonerý  r?  )rÕ  r–   rý  zcore_schema.CallSchemar¿   )rÕ  r–   rù  úParametersCallback | Nonerý  zcore_schema.ArgumentsSchema)rÕ  r–   rù  rK  rý  zcore_schema.ArgumentsV3Schema)r  ztyping.TypeVarrý  r?  )r½  zDecorator[ComputedFieldInfo]r§  z2dict[str, Decorator[FieldSerializerDecoratorInfo]]rý  zcore_schema.ComputedField)r“  r    rý  r?  )
r  r    r   z	list[Any]r  z"Callable[[CoreSchema], CoreSchema]rs  rØ   rý  r+   )T)rÅ   r?  rô  r    rs  rØ   rý  r?  )rÅ   r?  rô  r    rý  r?  )r  rƒ   rý  r¤   )
r#  r>   r«  r    r  zlist[GetJsonSchemaFunction]rs  rØ   rý  r   )rÅ   r?  rB  z-list[Decorator[FieldSerializerDecoratorInfo]]rý  r?  )rÅ   r?  rB  z1Iterable[Decorator[ModelSerializerDecoratorInfo]]rý  r?  )�rÿ   r   r  r  r¼  r  rä  r6  rã  rå  rØ   ÚcomplexÚobjectÚdatetimeÚdateÚtimeÚ	timedeltar   r(   r0   r   r,   r   r*   r   rÃ   rÊ   rÇ   rþ  r·   r�  rž  Ú
MutableSetÚ	frozensetÚSetÚMutableSequencerŸ  Údequer   r   r   r   ÚOrderedDictr£  ÚCounterr   rµ  r   r   r   r   r   r   r¦  r§  r©  rª  r¬  r®  r°  r²  r´  r­  r¬  r)   r‹  rø  rº  ÚsysÚversion_inforŒ   rÁ  ÚpropertyrÇ  rÊ  rÍ  rN  rG  r¼  rh  rk  rQ  rU  r
  rt  r~  r[  rd  ra  rd  rk  rn  rt  rÐ  r¿  rÁ  rv  rÐ  r'   r¬  r�  r‘  r/   rw  rç  rû  r  r²  r  r®  rà  rí  rä  rî  rñ  r   rm  rk  rz  r}  rJ  rE  rŠ  r‘  r—  rY  r^  r‡  rq  rú  r÷  rÏ  r	  rõ  r³  râ  r  r)  r4  r'  r"  r  rµ  Ú__classcell__)ræ   s   @r°   r  r  d  sô
  ø… Ùfð€Ið *.Ø59ð	#à%ð#ð 'ð#ð 3ð	#ð
 
ó#ð 8_ØÑ7ð8_àÑ;ð8_ð 	Ñ7ð8_ð 	Ñ;ð	8_ð
 	Ñ9ð8_ð 	Ñ?ð8_ð 	Ñ:ð8_ð 	�‰ÑBð8_ð 	×ÑÑJð8_ð 	�‰ÑBð8_ð 	×ÑÑLð8_ð 	Ñ?ð8_ð 	Ñ9ð8_ð 	Ñ7ð8_ð 	ÑAð8_ð  	ÑKð!8_ð" 	Ñ9ñ#8_ð$ 	Ñ=ð%8_ð& 	ÑHð'8_ð( 	ÑEð)8_ð* 	Ñ3ð+8_ð, 	Ñ;ð-8_ð. 	Ñ8ð/8_ð0 	Ñ6ð18_ð2 	Ñ4ð38_ð4 	�‰×"Ñ"Ñ$Kð58_ð6 	Ñ@ð78_ð8 	�‰×ÑÑJð98_ð: 	�‰×'Ñ'Ñ)Qð;8_ð< 	�‰× Ñ Ñ"Nð=8_ð> 	×ÑÑDð?8_ð@ 	�‰× Ñ Ñ"NðA8_ðB 	�‰×!Ñ!Ñ#OðC8_ðD 	�‰×ÑÑ!VòE8_ðF 	�‰×&Ñ&Ñ(]ðG8_ðH 	×ÑÑ!VðI8_ðJ 	×ÑÑ!VðK8_ðL 	×ÑÑHðM8_ðN 	�‰× Ñ Ñ"QðO8_ðP 	�‰× Ñ Ñ"KðQ8_ðR 	Ñ;ðS8_ðT 	Ñ=ðU8_ðV 	Ñ;ðW8_ðX 	Ñ;ðY8_ðZ 	Ñ=ð[8_ð\ 	Ñ;ð]8_ð^ 	�‰ÑBð_8_ð` 	�‰ÑCða8_ðb 	×ÑÑGðc8_ðd 	×ÑÑHðe8_ðf 	×ÑÑJñg8_ðh 	×ÑÑLØ×ÑÑ!NØ
�
‰
Ñ?ØÑ;ño8_€IÐ[ó 8ðt&gØÑ8ð&gàÑRð&gð 	ÑXð&gð 	ÑPð	&gð
 	Ñ\ð&gð 	Ñ:ð&gð 	�‰×'Ñ'Ñ)mð&gð 	�‰×"Ñ"Ñ$gð&gð 	�‰×ÑÑfð&gð 	×ÑÑ`ð&gð 	�‰×Ññ "
ð&gð 	�‰×&Ñ&ñ )
ð&gð" 	×ÑÑ!sð#&gð$ 	×Ññ "
ð%&gð* 	×ÑÑdð+&gð, 	�‰Ñfð-&gð. 	�‰Ñhð/&gð0 	×ÑÑpØ×ÑÑrØ×ÑÑvØ×Ññ  
ð 	×Ññ "
ð 	�‰× Ñ Ñ"jØ�‰× Ñ Ñ"NØ�‰×!Ñ!Ñ#OØ
�
‰
Ñ?Ø�‰× Ñ Ñ"QñK&gÐÐcó &ðP ×Ñ˜7Ò"Ù Sˆ	�*ÑÙ(xÐ˜*Ñ%õ
ð ò/ó ð/ð ò1ó ð1ð ò<ó ð<ó
IókóqósóeóHóNóCóJ
óB8ótJó,ó\
2ó	
ðØ ðØ1Kðà	óó&1ó	/ð+àð+ð 
 ó+óZKLóZó6wópð, Úió ØiàÚWó ØWôóó ð EVô %,óN=.ó~!.ðR ñ
àð
ð ð
ð #ð	
ð ð
ð 
$ó
ð(
àð
ð ð
ð #ð	
ð
 
 ó
ð$
àð
ð ð
ð #ð	
ð
 
$ó
ð,<%Øð<%Ø%.ð<%Ø<Jð<%à	*ó<%ó|"óHHó(óLLó\)Hð^ !—‘ð	"
àð"
ð ð"
ð ð	"
ð
 
%ó"
ðR !—‘Ø[_ð+ àð+ ð ð+ ð !ð	+ ð
 ð+ ð Yð+ ð 
(ó+ ðt !—‘ð0 àð0 ð ð0 ð !ð	0 ð

ð0 ð ð0 ð 
*ó0 ód_ó<
ó	
ó]ó
%>óN
ó.Móró8

ðvLØ0ðvLØ:XðvLà	óvLóp
ð4 fjðK
Ø2ðK
ØIbðK
à	$óK
ð\ fjðC
Ø2ðC
ØIbðC
à	&óC
óJ(ð(0
à'ð0
ð Nð0
ð 
#ó	0
ódñ& FQØ8<ð4uàð4uð ð4uð !Cð	4uð
 26ð4uð 
ó4uðt 9=ð	Oà&ðOð ðOð 26ð	Oð
 
 óOðbØ,ðØ8;ðà	óó ð6 9>ð?à.ð?ð ð?ð +Fð	?ð
 26ð?ð 
&ó?ð86à&ð6ð Cð6ð 
 ó	6ðp-Ø,ð-Ø;lð-à	÷-r²   r  c                ó.   — t        j                  | |«      S r¿   )r1   Ú!no_info_before_validator_function©rE  rÅ   s     r°   r  r  
  ó   € ¬[×-ZÑ-ZÐ[\Ð^dÓ-e€ r²   c                ó.   — t        j                  | |«      S r¿   )r1   r  r_  s     r°   r  r  
  s   € ¬K×,XÑ,XÐYZÐ\bÓ,c€ r²   c                ó,   — t        j                  | «      S r¿   )r1   r.  ©rE  rø  s     r°   r  r  
  s   € ¤{×'SÑ'SÐTUÓ'V€ r²   c                ó.   — t        j                  | |«      S r¿   )r1   rY  r_  s     r°   r  r   
  s   € ¬;×+VÑ+VÐWXÐZ`Ó+a€ r²   c                ó.   — t        j                  | |«      S r¿   )r1   Ú#with_info_before_validator_functionr_  s     r°   r  r  !
  s   € ¬{×/^Ñ/^Ð_`ÐbhÓ/i€ r²   c                ó.   — t        j                  | |«      S r¿   )r1   Ú"with_info_after_validator_functionr_  s     r°   r  r  "
  s   € ¬k×.\Ñ.\Ð]^Ð`fÓ.g€ r²   c                ó,   — t        j                  | «      S r¿   )r1   rÊ  rc  s     r°   r  r  #
  s   € ¬×)WÑ)WÐXYÓ)Z€ r²   c                ó.   — t        j                  | |«      S r¿   )r1   Ú!with_info_wrap_validator_functionr_  s     r°   r  r  $
  r`  r²   ))r¦   úno-info)r§   rl  )r¨   rl  )r©   rl  )r¦   ú	with-info)r§   rm  )r¨   rm  )r©   rm  z”Mapping[tuple[FieldValidatorModes, Literal['no-info', 'with-info']], Callable[[Callable[..., Any], core_schema.CoreSchema], core_schema.CoreSchema]]Ú_VALIDATOR_F_MATCHc                óÖ   — |D ]c  }t        |j                  |j                  j                  d¬«      }|rdnd}t	        |j                  j                  |f   |j                  | «      } Œe | S )z¹Apply validators to a schema.

    Args:
        schema: The schema to apply validators on.
        validators: An iterable of validators.

    Returns:
        The updated schema.
    r¯   ©r  rÃ   rm  rl  )rl   r  r®   r  rn  )rÅ   r¨  Ú	validatorr   Úval_types        r°   rÎ   rÎ   *
  si   € ð  ò ]ˆ	ô % Y§^¡^¸)¿.¹.×:MÑ:MÐT[Ô\ˆÙ"*‘;°	ˆä# Y§^¡^×%8Ñ%8¸(Ð$CÑDÀYÇ^Á^ÐU[Ó\‰ð]ð €Mr²   c                óB   — | D ]  }|j                   j                  sŒ y y)a?  In v1, if any of the validators for a field had `always=True`, the default value would be validated.

    This serves as an auxiliary function for re-implementing that logic, by looping over a provided
    collection of (v1-style) ValidatorDecoratorInfo's and checking if any of them have `always=True`.

    We should be able to drop this function and the associated logic calling it once we drop support
    for v1-style validator decorators. (Or we can extend it and keep it if we add something equivalent
    to the v1-validator `always` kwarg to `field_validator`.)
    TF)r®   r  )r¨  rq  s     r°   r  r  C
  s(   € ð  ò ˆ	Ø�>‰>× Ó Ùðð r²   c                óR   — t        | t        t        f«      r| j                  «       S | S r¿   )r  r<   r=   Úconvert_to_aliases)r—   s    r°   r  r  S
  s'   € ô �%œ,¬	Ð2Ô3Ø×'Ñ'Ó)Ð)àˆr²   c                ó`  — | j                  dd«      }|D �]Ž  }|dk(  r|j                  j                  dk7  rŒ#|dk(  r|j                  j                  dk(  rŒBt        |j                  |j                  j                  d¬«      }|j                  j                  dk(  rF|r"t        j                  |j                  | ¬	«      } Œ«t        j                  |j                  | ¬	«      } ŒÍ|j                  j                  dk(  rH|r#t        j                  |j                  | ¬	«      } �Œt        j                  |j                  | ¬	«      } �Œ.|j                  j                  d
k(  sJ ‚|r#t        j                  |j                  | ¬	«      } �Œnt        j                  |j                  | ¬	«      } �Œ‘ |r|| d<   | S )a“  Apply model validators to a schema.

    If mode == 'inner', only "before" validators are applied
    If mode == 'outer', validators other than "before" are applied
    If mode == 'all', all validators are applied

    Args:
        schema: The schema to apply validators on.
        validators: An iterable of validators.
        mode: The validator mode.

    Returns:
        The updated schema.
    ró  NrŽ  r¦   rš  Úmodelrp  r©   )rÕ  rÅ   r§   )rE  r®   r  rl   r  r1   rk  rY  rf  r^  rh  r  )rÅ   r¨  r  ró  rq  r   s         r°   r¯  r¯  \
  sf  € ð& —j‘j ¨Ó-€CØó nˆ	Ø�7Š?˜yŸ~™~×2Ñ2°hÒ>ØØ�7Š?˜yŸ~™~×2Ñ2°hÒ>ØÜ$ Y§^¡^¸)¿.¹.×:MÑ:MÐT[Ô\ˆØ�>‰>×Ñ &Ò(ÙÜ$×FÑFÐPY×P^ÑP^ÐgmÔn‘ä$×DÑDÈiÏnÉnÐekÔl‘Ø�^‰^× Ñ  HÒ,ÙÜ$×HÑHÐR[×R`ÑR`ÐioÔp’ä$×FÑFÐPY×P^ÑP^ÐgmÔn’à—>‘>×&Ñ&¨'Ò1Ð1Ð1ÙÜ$×GÑGÐQZ×Q_ÑQ_ÐhnÔo’ä$×EÑEÈyÏ~É~ÐflÔm’ð+nñ, Øˆˆu‰Ø€Mr²   c                ó  — | j                   r@t        j                  || j                   t        | j                   «      | j                  ¬«      S | j
                  t        ur,t        j                  || j
                  | j                  ¬«      S |S )a  Wrap schema with default schema if default value or `default_factory` are available.

    Args:
        field_info: The field info object.
        schema: The schema to apply default on.

    Returns:
        Updated schema by default value or `default_factory`.
    )r›   Údefault_factory_takes_datarŸ   )rš   rŸ   )r›   r1   Úwith_default_schemarr   rŸ   rš   r/   )r  rÅ   s     r°   r  r  ‹
  s�   € ð ×!Ò!Ü×.Ñ.ØØ&×6Ñ6Ü'DÀZ×E_ÑE_Ó'`Ø'×8Ñ8ô	
ð 	
ð 
×	Ñ	Ô#4Ñ	4Ü×.Ñ.Ø˜J×.Ñ.À×A\ÑA\ô
ð 	
ð ˆr²   c                óø   — t        | dd«      }t        | d«      r]t        «       }|duxr% |j                  j                  |t        |dd«      fv}|s&t        | dd«      }t        d|rd|› d�nd	› d
�d¬«      ‚|€y|S )z`Extract `__get_pydantic_json_schema__` from a type, handling the deprecated `__modify_schema__`.Ú__get_pydantic_json_schema__NÚ__modify_schema__rÄ  rÿ   zjThe `__modify_schema__` method is not supported in Pydantic v2. Use `__get_pydantic_json_schema__` insteadz in class `ú`rÔ   r´   zcustom-json-schemarµ   )rå   rÁ  rx   r|  rÄ  rH   )rë   Újs_modify_functionr…   Úhas_custom_v2_modify_js_funcÚcls_names        r°   rx  rx  ¤
  s¹   € ä  Ð%CÀTÓJÐäˆrÐ&Ô'Ü,Ó.ˆ	ð  dÐ*ò WØ×6Ñ6×?Ñ?Ø&¬Ð0BÀJÐPTÓ(UÐVðWð 	%ñ ,Ü˜r :¨tÓ4ˆHÜ#ð=ÙZb¸{È8È*ÐTUÑ=VÐhjÐ<kÐklðnà)ôð ð Ð!ØàÐr²   r  c                óX   — | d   dk(  r|j                  | d   «      S | d   dk(  r| d   S | S )NrÃ   r&  rÞ  r  rÅ   )r*  ©rÅ   r  s     r°   ry  ry  ¿
  sA   € Øˆf�~Ð)Ò)Ø×.Ñ.¨v°lÑ/CÓDÐDØ	�‰˜=Ò	(Ø�hÑÐàˆr²   c                ó\   — d| v ry| j                  d«      }|syt        |«      dk(  rd|v ryy)a°  Determine the inlining behavior of the `'definition-ref'` schema.

    - If no `'serialization'` schema and no metadata is attached, the schema can safely be inlined.
    - If it has metadata but only related to the deferred discriminator application, it can be inlined
      provided that such metadata is kept.
    - Otherwise, the schema should not be inlined. Doing so would remove the `'serialization'` schema or metadata.
    rà   Úkeeprô  ÚinlinerT   Ú%pydantic_internal_union_discriminatorÚpreserve_metadata)rÍ   rÜ  )Údef_refrô  s     r°   Ú_inlining_behaviorrŠ  È
  s=   € ð ˜'Ñ!ØØ�{‰{˜:Ó&€HÙØÜ
ˆ8ƒ}˜ÒÐEÈÑQØ"Ør²   c                  ól   — e Zd ZU dZded<   	 ded<   	 dd„Zedd„«       Zdd„Zdd	„Z	dd
„Z
dd„Zdd„Zy)r  z*Keeps track of references and definitions.úset[str]Ú_recursively_seenz!dict[str, core_schema.CoreSchema]rg  c                ó0   — t        «       | _        i | _        y r¿   )r·   r�  rg  rÆ  s    r°   r  z_Definitions.__init__ñ
  s   € Ü!$£ˆÔØˆÕr²   c             #  ó*  K  — || j                   v s|| j                  v rt        j                  |«      –— y| j                   j	                  |«       	 d–— | j                   j                  |«       y# | j                   j                  |«       w xY w­w)a  Get a `'definition-ref'` schema for `ref`, if the reference was already encountered (or if we are in a cycle).
        Get a definition for `tp` if one exists.

        This should be called for any type that can be identified by reference.
        This includes any recursive types.

        At present the following types can be named/recursive:

        - Pydantic model
        - Pydantic and stdlib dataclasses
        - Typed dictionaries
        - Named tuples
        - `TypeAliasType` instances
        - Enums
        N)r�  rg  r1   rå  ÚaddÚdiscard©r  ró  s     r°   rœ  z&_Definitions.get_definition_ref_schemaõ
  sz   è ø€ ð$ �$×(Ñ(Ñ(¨C°4×3DÑ3DÑ,DÜ×9Ñ9¸#Ó>Ó>à×"Ñ"×&Ñ& sÔ+ð4Ø’
à×&Ñ&×.Ñ.¨sÕ3ø�×&Ñ&×.Ñ.¨sÕ3üs   ‚ABÁA3 ÁBÁ3BÂBc                ó8   — | j                   j                  |«      S )z,Resolve the schema from the given reference.)rg  rÍ   r’  s     r°   r*  z _Definitions.get_schema_from_ref  s   € à× Ñ ×$Ñ$ SÓ)Ð)r²   c                óT   — |d   }|| j                   |<   t        j                  |«      S )z Store the schema as a definition and return a `'definition-reference'` schema pointing to it.

        The schema must have a reference attached to it.
        ró  )rg  r1   rå  )r  rÅ   ró  s      r°   rž  z/_Definitions.create_definition_reference_schema  s.   € ð
 �U‰mˆØ!'ˆ×Ñ˜#ÑÜ×6Ñ6°sÓ;Ð;r²   c                óD   — |d   D ]  }|| j                   |d   <   Œ |d   S )zZStore the definitions of the `'definitions'` core schema and return the inner core schema.r  ró  rÅ   )rg  )r  rÅ   Ú
def_schemas      r°   r�  z_Definitions.unpack_definitions  s6   € à  Ñ/ò 	>ˆJØ3=ˆD×Ñ˜j¨Ñ/Ò0ð	>à�hÑÐr²   c                óš  — | j                   }	 t        ||¬«      }i }|d   j	                  «       D ��ch c]  \  }}|�t        |«      dk(  r|’Œ }}}|d   j	                  «       D ]´  \  }}|�—t        |«      x}	dk7  r‡|	dk(  r3|j                  «        |j                  | j                  |||«      «       ŒP|	dk(  sŒV|j                  d«      }
|j                  «        |j                  | j                  |||«      «       |
|d<   ŒŸ| j                  |||«      ||<   Œ¶ |d   D ]`  }|d   j                  d	d«      }|€Œt        j                  |j                  «       ||«      }|j                  «        |j                  |«       Œb |r't        j                  |g |j                  «       ¢¬
«      }|S # t        $ r}t        |‚d}~ww xY wc c}}w )záFinalize the core schema.

        This traverses the core schema and referenced definitions, replaces `'definition-ref'` schemas
        by the referenced definition if possible, and applies deferred discriminators.
        )r  NÚcollected_referencesr…  r†  rˆ  rô  Údeferred_discriminator_schemasr‡  rƒ  )rg  r~   r}   rþ   rÙ   rŠ  Úclearrë  Ú_resolve_definitionrE  rV   rf  r
   r1   Údefinitions_schemar   )r  rÅ   r  Úgather_resultr:  Úremaining_defsró  Úinlinable_def_refÚ	kept_refsÚinlining_behaviorÚmetaÚcsrj  Úapplieds                 r°   rm  z_Definitions.finalize_schema#  s  € ð ×'Ñ'ˆð	,Ü7ØØ'ôˆMð 13ˆð +8Ð8NÑ*O×*UÑ*UÓ*W÷
á&�Ð&Ø Ð(Ô,>Ð?PÓ,QÐU[Ò,[ò ð
ˆ	ñ 
ð '4Ð4JÑ&K×&QÑ&QÓ&Sò 	\Ñ"ˆCÐ"Ø Ð,ÔGYÐZkÓGlÐ2lÐ2CÐqwÒ1wØ$¨Ò0ð
 &×+Ñ+Ô-Ø%×,Ñ,¨T×-EÑ-EÀcÈ;ÐXaÓ-bÕcØ&Ð*=Ó=ð -×0Ñ0°Ó<�DØ%×+Ñ+Ô-Ø%×,Ñ,¨T×-EÑ-EÀcÈ;ÐXaÓ-bÔcØ48Ð% jÒ1ð
 '+×&>Ñ&>¸sÀKÐQZÓ&[�˜sÒ#ð+	\ð.  Ð @ÑAò 
	ˆBØ(*¨:©×(:Ñ(:Ð;bÐdhÓ(iˆMØÐ$ð Ü*×>Ñ>¸r¿w¹w»yÈ-ÐYgÓhˆGà�H‰HŒJØ�I‰I�gÕð
	ñ Ü ×3Ñ3¸6ÐOiÐQ_×QfÑQfÓQhÐOiÔjˆFØˆøôk &ò 	,Ü$¨!Ð+ûð	,üó
s   ŽF/ ³GÆ/	GÆ8F?Æ?Gc                ó  — ||   }|d   dk7  r|S t        «       }|d   dk(  ret        |«      dk(  rW|d   }||v r||k7  ri |¥d|i¥S ||v rt        |› d�d¬«      ‚|j                  |«       ||   }|d   dk(  rt        |«      dk(  rŒWi |¥d|i¥S )	NrÃ   r&  r†  rÞ  ró  z) contains a circular reference to itself.zcircular-reference-schemarµ   )r·   rŠ  rH   r�  )r  ró  r  r   Ú
definitionÚvisitedrÞ  s          r°   r›  z _Definitions._resolve_definitionf  sß   € Ø  Ñ%ˆ
Ø�fÑÐ!1Ò1ØÐô  ›EˆØ˜Ñ Ð$4Ò4Ô9KÈJÓ9WÐ[cÒ9cØ# LÑ1ˆJØ˜YÑ&¨:¸Ò+<ð 2˜*Ð1 e¨SÑ1Ð1Ø˜WÑ$Ü'Ø�eÐDÐEÐLgôð ð �K‰K˜
Ô#Ø$ ZÑ0ˆJð ˜Ñ Ð$4Ò4Ô9KÈJÓ9WÐ[cÓ9cð  *�*Ð)˜e SÑ)Ð)r²   NrH  )ró  rä  rý  z7Generator[core_schema.DefinitionReferenceSchema | None])ró  rä  rý  úCoreSchema | None)rÅ   r+   rý  ú%core_schema.DefinitionReferenceSchema)rÅ   zcore_schema.DefinitionsSchemarý  r+   r  )ró  rä  r  zdict[str, CoreSchema]r   rŒ  rý  r+   )rÿ   r   r  r  rø  r  r	   rœ  r*  rž  r�  rm  r›  r  r²   r°   r  r  Ü
  sQ   … Ù4àÓðð 4Ó3ðóð ò4ó ð4ó4*ó<ó óAôF*r²   c                  ó2   — e Zd ZdZdd„Zedd„«       Zdd„Zy)	r  ©Ú_stackc                ó   — g | _         y r¿   r«  rÆ  s    r°   r  z_FieldNameStack.__init__„  s	   € Ø!#ˆ�r²   c              #  ó¾   K  — | j                   j                  |«       	 d –— | j                   j                  «        y # | j                   j                  «        w xY w­wr¿   ©r¬  rq  rE  )r  r`  s     r°   r   z_FieldNameStack.push‡  s<   è ø€ à�‰×Ñ˜:Ô&ð	Ûà�K‰K�O‰OÕøˆD�K‰K�O‰OÕüó   ‚AŸ> £A¾AÁAc                ó:   — | j                   r| j                   d   S y ©Nrâ   r«  rÆ  s    r°   rÍ   z_FieldNameStack.get�  ó   € Ø�;Š;Ø—;‘;˜r‘?Ð"àr²   NrH  )r`  rä  rý  úIterator[None])rý  z
str | None©rÿ   r   r  r¼  r  r	   r   rÍ   r  r²   r°   r  r  �  s%   „ Ø€Ió$ð òó ðôr²   r  c                  ó2   — e Zd ZdZdd„Zedd„«       Zdd„Zy)	r  r«  c                ó   — g | _         y r¿   r«  rÆ  s    r°   r  z_ModelTypeStack.__init__™  s	   € Ø"$ˆ�r²   c              #  ó¾   K  — | j                   j                  |«       	 d –— | j                   j                  «        y # | j                   j                  «        w xY w­wr¿   r¯  )r  Útype_objs     r°   r   z_ModelTypeStack.pushœ  s<   è ø€ à�‰×Ñ˜8Ô$ð	Ûà�K‰K�O‰OÕøˆD�K‰K�O‰OÕür°  c                ó:   — | j                   r| j                   d   S y r²  r«  rÆ  s    r°   rÍ   z_ModelTypeStack.get¤  r³  r²   NrH  )r¹  rÃ   rý  r´  )rý  ztype | Nonerµ  r  r²   r°   r  r  –  s%   „ Ø€Ió%ð òó ðôr²   r  )r®   rŽ   r¯   rä  rý  rØ   )r»   zIterable[AnyFieldDecorator]r­   zIterable[str]rý  rG  )rÀ   z+Iterable[Decorator[FieldDecoratorInfoType]]r¯   rä  rý  z'list[Decorator[FieldDecoratorInfoType]])rÅ   r?  rÑ   z'list[Decorator[ValidatorDecoratorInfo]]rý  r?  )r®   zFieldInfo | ComputedFieldInforý  zAtuple[JsonDict | None, JsonDict | JsonSchemaExtraCallable | None])rê   zJsonEncoders | Nonerë   r    rÅ   r+   rý  r+   )rø   rJ  rý  ztuple[bool, Any, bool])rÅ   r?  r¨  z�Iterable[Decorator[RootValidatorDecoratorInfo]] | Iterable[Decorator[ValidatorDecoratorInfo]] | Iterable[Decorator[FieldValidatorDecoratorInfo]]rý  r?  )r¨  z+Iterable[Decorator[ValidatorDecoratorInfo]]rý  rØ   )r—   z%str | AliasChoices | AliasPath | Nonerý  z4str | list[str | int] | list[list[str | int]] | None)rÅ   r?  r¨  z0Iterable[Decorator[ModelValidatorDecoratorInfo]]r  z Literal['inner', 'outer', 'all']rý  r?  )r  rƒ   rÅ   r?  rý  r?  )rë   r    rý  zGetJsonSchemaFunction | None)rÅ   r+   r  r  rý  r¨  )r‰  r©  rý  z.Literal['inline', 'keep', 'preserve_metadata'])ær  Ú
__future__r   Ú_annotationsÚcollections.abcr�  rø  rN  r  r¦  r©  r­  rY  rô  rç   r   r   r   r   r   Ú
contextlibr	   r
   Údecimalr   Úenumr   Ú	fractionsr   Ú	functoolsr   r   r   Ú	ipaddressr   r   r   r   r   r   Ú	itertoolsr   Úoperatorr   Útypesr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   Úuuidr(   rŒ  r)   ró   Úpydantic_corer*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   Útyping_inspectionr7   Útyping_inspection.introspectionr8   r9   r:   Úaliasesr<   r=   Úannotated_handlersr>   r?   r•  r@   rA   rB   rC   ÚerrorsrD   rE   rF   rG   rH   Úfunctional_validatorsrI   rJ   rK   rL   rM   rí  rN   ÚversionrO   rP   rQ   rR   rS   rÔ   rU   rV   rW   rX   rY   rZ   Ú_configr[   r\   Ú_core_metadatar]   r^   Ú_core_utilsr_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   Ú_docs_extractionrn   ri  ro   rp   rq   rr   rs   Ú_forward_refrt   Ú	_genericsru   rv   rw   Ú_import_utilsrx   ry   Ú_mock_val_serrz   Ú_namespace_utilsr{   r|   Ú_schema_gatherr}   r~   Ú_schema_generation_sharedr   Ú_utilsr€   r�   r­   r‚   rƒ   Úmainr…   r†   Ú_dataclassesr‡   rˆ   rZ  ÚbuiltinsrŒ   rO  rŽ   rø  r�   ÚAnyFieldDecoratorr‘   r’   rã  rä  r”   ÚTuplerÇ   r•   r–   rö  r¥   rª   r±   r½   rÁ   rÌ   rÞ   rÊ   rÃ   ÚJsonEncodersrî   ÚGENERATE_SCHEMA_ERRORSrü   Ú	Exceptionrþ   r  rn  rÎ   r  r  r¯  r  rx  ry  rŠ  r  r  r  r  r²   r°   ú<module>rä     sX  ðÚ 3å 2ã Û Û Û Û 	Û Û 	Û 
Û Û ß LÕ LÝ %Ý Ý Ý Ý Ý ß -ß f× fÝ Ý ß \× \÷
÷ 
õ 
õ Ý ã ÷
÷ 
õ 
÷ó õ -ß aÑ aç -ß Kß OÓ O÷õ ÷ xÕ wÝ )Ý #÷ó ÷ m× lß 6ß >÷÷÷ ÷ õ õ :÷õ õ /ß WÑ Wß MÝ )ß 9ß OÝ Cß 6áß5Ý Ý%Ý/Ý@à×Ò�wÒÝ#à×&Ò&¨'Ñ1Ð à 6Ð9TÑ TÐWsÑ sÐ �IÓ sÙ Ð!9ÐASÔTÐ àÐ$Ñ%¨	Ð2MÑ(NÑNÐQZÐ[wÑQxÑxð ð *>Ð ˜YÓ =Ø#+¨SÐ2MÐ,NÐP[×PfÑPfÐ,fÑ#gÐ �yÓ gØ (¨#¨s°C¨¸'À&¹/ÈDÑ:PÐ)PÑ QÐ �IÓ Qà!Ÿ<š<¨Ð/€ˆZÓ /ð )3°\Ñ(AÀJÑ(NÐQXÑ(XÐ ˜IÓ Xñ !)Ð)CÓ DÐ àØØ!ð Ð!Ð"ØØØØØØØØØðFÐ +Ð-Bó ð" Oð ¨À.ÐZgÑhð ð ó ið
,Ø
ð,àð,ð 
ó,ó"ð6nØDðnØMPðnà,ónð#Ø"ð#àAð#ð ó#ðL
AØ
'ð
AàFó
Að �D˜‘I˜{Ð*Ñ+€ðØ&ðØ,/ðØ9CðàóðF Ø Ø!Øð	Ð ð Ió(ô>&˜ô &÷r"ñ r"ñrE fÙcÙVÙaÙiÙgÙZÙeñ	ð ð ó ð"Ø"ðð7ðð
 óó2ð Ø0ðà9óð,Ø"ð,à@ð,ð +ð,ð ó	,ó^ó2ó6ðØ2ðà3ó÷(b*ñ b*÷Jñ ÷*ò r²   