Ë
    °ëjå6  ã                  ó¬  — d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	 ddl
mZmZ 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 d	dlmZmZmZ er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(  G d„ de«      Z)d$d„Z* e	d¬«      d%d„«       Z+d&d„Z,ddœ	 	 	 	 	 	 	 	 	 	 	 d'd„Z-d(d„Z.d)d„Z/ddd œ	 	 	 	 	 	 	 	 	 d*d!„Z0d+d"„Z1d+d#„Z2y),zmPrivate logic related to fields (the `Field()` function and `FieldInfo` class), and arguments to `Annotated`.é    )ÚannotationsN)Úcopy)Ú	lru_cache)ÚTYPE_CHECKINGÚAny)ÚPydanticUndefined)ÚPydanticUserErroré   )Ú_typing_extra)ÚConfigWrapper)Úextract_docstrings_from_cls)Úimport_cached_base_modelÚimport_cached_field_info)ÚRepresentation)Úget_cls_type_hints_lenientÚis_classvarÚis_finalvar©ÚBaseMetadataé   )Ú	FieldInfo)Ú	BaseModel)ÚStandardDataclass)ÚDecoratorInfosc                  ó   — e Zd ZdZdZy)ÚPydanticMetadataz0Base class for annotation markers like `Strict`.© N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   ó    úg/home/oem/CyberBrain26-unified/dev-env/.venv/lib/python3.12/site-packages/pydantic/_internal/_fields.pyr   r       s
   „ Ù:à�Ir#   r   c                 ó"   —  t        «       | «      S )z¿Create a new `_PydanticGeneralMetadata` class with the given metadata.

    Args:
        **metadata: The metadata to add.

    Returns:
        The new `_PydanticGeneralMetadata` class.
    )Ú_general_metadata_cls)Úmetadatas    r$   Úpydantic_general_metadatar(   &   s   € ð #Ô Ó" 8Ó,Ð,r#   )Úmaxsizec                 ó2   — ddl m}   G d„ dt        | «      }|S )zCDo it this way to avoid importing `annotated_types` at import time.r   r   c                  ó   — e Zd ZdZdd„Zy)ú7_general_metadata_cls.<locals>._PydanticGeneralMetadataz,Pydantic general metadata like `max_digits`.c                ó   — || _         y ©N)Ú__dict__)Úselfr'   s     r$   Ú__init__z@_general_metadata_cls.<locals>._PydanticGeneralMetadata.__init__:   s	   € Ø$ˆD�Mr#   N)r'   r   )r   r   r    r!   r1   r   r#   r$   Ú_PydanticGeneralMetadatar,   7   s
   „ Ù:ô	%r#   r2   )Úannotated_typesr   r   )r   r2   s     r$   r&   r&   2   s   € õ -ô%Ô#3°\ô %ð $Ð#r#   c                óœ   — |j                   r@t        | «      }|j                  «       D ]!  \  }}|j                  �Œ||v sŒ||   |_        Œ# y y r.   )Úuse_attribute_docstringsr   ÚitemsÚdescription)ÚclsÚfieldsÚconfig_wrapperÚfields_docsÚann_nameÚ
field_infos         r$   Ú_update_fields_from_docstringsr>   @   sT   € Ø×.Ò.Ü1°#Ó6ˆØ$*§L¡L£Nò 	?Ñ ˆH�jØ×%Ñ%Ñ-°(¸kÒ2IØ)4°XÑ)>�
Õ&ñ	?ð /r#   )Útypevars_mapc               ó@  ‡— t        «       }t        «       }t        | |«      }| j                  j	                  di «      }i }	t        «       }
|j                  «       D �]v  \  Š}‰dk(  rŒ|j                  D ]°  }‰j                  |«      sŒ|D ]H  }t        |‰«      sŒt        ||«      r‰|j                  v rŒ+t        d‰› dt        |‰«      › d|› d�«      ‚ t        ˆfd„|j                  D «       «      }t        j                   d‰› d| j"                  › d	|› d
|› d�	t$        «       Œ² t'        |«      r|
j)                  ‰«       Œét+        |t        | ‰t,        «      «      r|
j)                  ‰«       �Œt/        ‰«      s�Œ$| j0                  r‰dk7  rt        d‰›d�«      ‚t        | di «      j	                  d«      }|D ]™  }t3        j4                  |«      rt3        j6                  |«      ndD �ch c]  }|j8                  ’Œ }}t        |‰«      sŒS||u rŒX‰|v rŒ]‰|vrŒbt        j                   d‰› d| j:                  › d|j:                  › d�t$        «       Œ› 	 t        | ‰t,        «      }|t,        u rt<        ‚	 t?        |‰«       |jA                  ||«      }	 tC        | ‰«       | j                  d   }‰|jL                  v rtO        d«      ‚||	‰<   �Œy |r'|	jQ                  «       D ]  }|jS                  ||«       Œ tU        | |	|«       |	|
fS c c}w # t<        $ r Y Œzw xY w# t<        $ rr ‰|v r|jE                  |«      }nYi }| jF                  ddd…   D ]  }|jI                  t        |di «      «       Œ  ‰|v rtK        |‰   «      }n|jE                  |«      }Y Œøw xY w)a[  Collect the fields of a nascent pydantic model.

    Also collect the names of any ClassVars present in the type hints.

    The returned value is a tuple of two items: the fields dict, and the set of ClassVar names.

    Args:
        cls: BaseModel or dataclass.
        bases: Parents of the class, generally `cls.__bases__`.
        config_wrapper: The config wrapper instance.
        types_namespace: Optional extra namespace to look for types in.
        typevars_map: A dictionary mapping type variables to their concrete types.

    Returns:
        A tuple contains fields and class variables.

    Raises:
        NameError:
            - If there is a conflict between a field name and protected namespaces.
            - If there is a field other than `root` in `RootModel`.
            - If a field shadows an attribute in the parent model.
    Ú__annotations__Úmodel_configzField "z" conflicts with member z of protected namespace "z".c              3  óF   •K  — | ]  }‰j                  |«      rŒ|–— Œ y ­wr.   ©Ú
startswith)Ú.0Úxr<   s     €r$   ú	<genexpr>z'collect_model_fields.<locals>.<genexpr>�   s$   øè ø€ ò -ØÈh×NaÑNaÐbcÕNdœñ-ùs   ƒ!š!z" in z( has conflict with protected namespace "z_".

You may be able to resolve this warning by setting `model_config['protected_namespaces'] = z`.ÚrootzUnexpected field with name z4; only 'root' is allowed as a field of a `RootModel`Ú__pydantic_generic_metadata__Úoriginr   zField name "z" in "z"" shadows an attribute in parent "ú"NéÿÿÿÿÚmodel_fieldsÚ__pydantic_decorators__z0you can't override a field with a computed field)+r   r   r   r/   ÚgetÚsetr6   Úprotected_namespacesrE   ÚhasattrÚ
issubclassrN   Ú	NameErrorÚgetattrÚtupleÚwarningsÚwarnr   ÚUserWarningr   ÚaddÚ_is_finalvar_with_default_valr   Úis_valid_field_nameÚ__pydantic_root_model__ÚdataclassesÚis_dataclassr9   Únamer    ÚAttributeErrorÚ#_warn_on_nested_alias_in_annotationÚfrom_annotated_attributeÚdelattrÚfrom_annotationÚ	__bases__Úupdater   Úcomputed_fieldsÚ
ValueErrorÚvaluesÚapply_typevars_mapr>   )r8   Úbasesr:   Útypes_namespacer?   r   Ú
FieldInfo_Ú
type_hintsr   r9   Ú
class_varsÚann_typeÚprotected_namespaceÚbÚvalid_namespacesÚgeneric_originÚbaseÚfieldÚdataclass_fieldsÚdefaultr=   Úmodel_fields_lookuprG   Ú
decoratorsr<   s                           @r$   Úcollect_model_fieldsr}   H   s#  ø€ ô< )Ó*€IÜ)Ó+€Jä+¨C°ÓA€Jð —,‘,×"Ñ"Ð#4°bÓ9€KØ#%€Fä›5€JØ(×.Ñ.Ó0ó g&Ñˆ�(Ø�~Ò%ð Ø#1×#FÑ#Fò 	ÐØ×"Ñ"Ð#6Õ7Øò �AÜ˜q (Õ+Ü *¨1¨iÔ 8¸XÈÏÉÒ=WÜ"+Ø")¨(¨Ð3KÌGÐTUÐW_ÓL`ÐKaØ";Ð<OÐ;PÐPRð!Tó#ð ðô (-ó -Ø#1×#FÑ#Fô-ó (Ð$ô —M‘MØ! ( ¨5°·±°Ð>fÐgzÐf{ð |DàDTÐCUÐUWðYô $õ	ð	ô& �xÔ Ø�N‰N˜8Ô$ØÜ(¨´7¸3ÀÔJ[Ó3\Ô]Ø�N‰N˜8Ô$ÙÜ" 8Ô,ÙØ×&Ò&¨8°vÒ+=ÜØ-¨h¨\Ð9mÐnóð ô ! Ð&EÀrÓJ×NÑNÈxÓXˆØò 	ˆDäEP×E]ÑE]Ð^bÔEc¬×);Ñ);¸DÔ)AÐikö Ø$�—
“
ð Ðð  ô �t˜XÕ&Ø˜>Ñ)ààÐ/Ñ/ð à ;Ñ.àä—‘Ø" 8 *¨F°3×3CÑ3CÐ2Dð EØ×)Ñ)Ð*¨!ð-äõð%	ð0	Ü˜c 8Ô->Ó?ˆGØÔ+Ñ+Ü$Ð$ð ,ô* 0°¸(ÔCØ#×<Ñ<¸XÀwÓOˆJðÜ˜˜XÔ&ð &)§\¡\Ð2KÑ%Lˆ
Ø�z×1Ñ1Ñ1ÜÐOÓPÐPØ%ˆˆxÓðOg&ñR Ø—]‘]“_ò 	DˆEØ×$Ñ$ \°?ÕCð	Dô # 3¨°Ô?à�:ÐÐùòK øôj "ò Ùðûô5 ò 	FØ˜;Ñ&Ø'×7Ñ7¸ÓA‘
ð =?Ð#ØŸ™¡t¨ tÑ,ò O�AØ'×.Ñ.¬w°q¸.È"Ó/MÕNðOàÐ2Ñ2ô "&Ð&9¸(Ñ&CÓ!D‘Jð
 ",×!;Ñ!;¸HÓ!E�Jùð#	Fús+   Ç-LÉL"ÊLÌ	LÌLÌ"A8NÎNc                ó  — t        «       }t        | dd «      }|rr|D ]l  }t        j                  |«      sŒt        j                  |«      D ]<  }t        ||«      sŒ|j                  €Œt        j                  d|› d�t        «         y  Œn y y )NÚ__args__z `alias` specification on field "z5" must be set on outermost annotation to take effect.)
r   rV   r   Úis_annotatedÚget_argsÚ
isinstanceÚaliasrX   rY   rZ   )rr   r<   r   ÚargsÚanno_argÚanno_type_args         r$   rc   rc   ã   s�   € Ü(Ó*€Iä�8˜Z¨Ó.€DÙØò 	ˆHÜ×)Ñ)¨(Õ3Ü%2×%;Ñ%;¸HÓ%Eò �MÜ! -°Õ;À×@SÑ@SÑ@_Ü Ÿ™Ø>¸x¸jÐH}Ð~Ü'ôò ññ	ð r#   c                ó˜   — t        «       }t        | «      sy|t        u ryt        ||«      r|j                  t        u r|j
                  €yy)NFT)r   r   r   r‚   rz   Údefault_factory)Útype_Úvalr   s      r$   r\   r\   ó   sH   € Ü(Ó*€Iä�uÔØØ	Ô!Ñ	!ØÜ	�C˜Ô	#¨¯©Ô8IÑ)IÈc×NaÑNaÐNiØàr#   )r?   r:   c               ó  — t        «       }i }| j                  }t        t        | «      «      }t        j
                  j                  | j                  «      }|�i |j                  ¥|xs i ¥}|j                  «       D �]H  \  }	}
t        j                  |
j                  ||«      }t        |«      rŒ4|
j                  s;|
j                  t         j"                  k(  r|
j$                  t         j"                  k(  rŒ{t'        |
j                  |«      r]|
j                  j(                  r*|
j                  j                  du rt+        d|	› d�d¬«      ‚ŒÑ|j-                  ||
j                  «      }n|j-                  ||
«      }|||	<   |j                  t.        us�Œt'        t1        | |	|«      |«      s�Œ2t3        | |	|j                  «       �ŒK |r'|j5                  «       D ]  }|j7                  ||«       Œ |�t9        | ||«       |S )aF  Collect the fields of a dataclass.

    Args:
        cls: dataclass.
        types_namespace: Optional extra namespace to look for types in.
        typevars_map: A dictionary mapping type variables to their concrete types.
        config_wrapper: The config wrapper instance.

    Returns:
        The dataclass fields.
    FzDataclass field zD has init=False and init_var=True, but these are mutually exclusive.zclashing-init-and-init-var)Úcode)r   Ú__dataclass_fields__ÚdictÚvarsÚsysÚmodulesrP   r   r/   r6   r   Úeval_type_lenientÚtyper   Úinitrz   r_   ÚMISSINGrˆ   r‚   Úinit_varr	   rd   r   rV   Úsetattrrk   rl   r>   )r8   rn   r?   r:   ro   r9   ry   Úcls_localnsÚsource_moduler<   Údataclass_fieldrr   r=   rx   s                 r$   Úcollect_dataclass_fieldsr›      sá  € ô$ *Ó+€Jà#%€FØ58×5MÑ5MÐÜ”t˜C“y“/€Kä—K‘K—O‘O C§N¡NÓ3€MØÐ ØO˜]×3Ñ3ÐO¸Ò8MÈ2ÐOˆà%5×%;Ñ%;Ó%=ó  7Ñ!ˆ�/Ü ×2Ñ2°?×3GÑ3GÈÐZeÓfˆÜ�xÔ Øð  ×$Ò$Ø×'Ñ'¬;×+>Ñ+>Ò>Ø×/Ñ/´;×3FÑ3FÒFð ä�o×-Ñ-¨zÔ:Ø×&Ñ&×/Ò/Ø"×*Ñ*×/Ñ/°5Ñ8Ü+Ø*¨8¨*Ð4xÐyØ9ôð ð Ø#×<Ñ<¸XÀ×G^ÑG^Ó_‰Jà#×<Ñ<¸XÀÓWˆJà%ˆˆxÑà×ÑÔ%6Ó6¼:ÄgÈcÐS[Ð]gÓFhÐjtÖ;uä�C˜ :×#5Ñ#5Ö6ðA 7ñD Ø—]‘]“_ò 	DˆEØ×$Ñ$ \°?ÕCð	Dð Ð!Ü& s¨F°NÔCà€Mr#   c                ó&   — | j                  d«       S )NÚ_rD   ©ra   s    r$   r]   r]   H  s   € Ø�‰˜sÓ#Ð#Ð#r#   c                óL   — | j                  d«      xr | j                  d«       S )Nr�   Ú__rD   rž   s    r$   Úis_valid_privateattr_namer¡   L  s"   € Ø�?‰?˜3ÓÒ=¨¯©¸Ó(=Ð$=Ð=r#   )r'   r   Úreturnr   )r¢   ztype[BaseMetadata])r8   ú	type[Any]r9   údict[str, FieldInfo]r:   r   r¢   ÚNone)r8   ztype[BaseModel]rm   ztuple[type[Any], ...]r:   r   rn   údict[str, Any] | Noner?   údict[Any, Any] | Noner¢   z%tuple[dict[str, FieldInfo], set[str]])rr   r£   r<   Ústrr¢   r¥   )r‰   r£   rŠ   r   r¢   Úbool)
r8   ztype[StandardDataclass]rn   r¦   r?   r§   r:   zConfigWrapper | Noner¢   r¤   )ra   r¨   r¢   r©   )3r!   Ú
__future__r   Ú_annotationsr_   r�   rX   r   Ú	functoolsr   Útypingr   r   Úpydantic_corer   Úpydantic.errorsr	   Ú r   Ú_configr   Ú_docs_extractionr   Ú_import_utilsr   r   Ú_reprr   r   r   r   r3   r   r9   r   Úmainr   Ú_dataclassesr   Ú_decoratorsr   r   r(   r&   r>   r}   rc   r\   r›   r]   r¡   r   r#   r$   ú<module>r¸      s  ðÙ så 2ã Û 
Û Ý Ý ß %å +å -å Ý "Ý 9ß MÝ !ß OÑ OáÝ,å"Ý Ý/Ý+ô�~ô ó	-ñ �4Ôò
$ó ð
$ó?ð +/ñXØ	ðXà ðXð "ðXð +ð	Xð (ðXð +óXóvó 
ð" +/Ø+/ñEØ	 ðEà*ðEð (ð	Eð
 )ðEð óEóP$ô>r#   