+
    7*i  c                  s6  a  0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIHtH	t	H
t
HtHt ^ RIHtHtHtHt ^ RIHt ]'       d   ^RIHtHtHtHt ]! R4      t]! R	4      t]R,          t]! ]P:                  4      tR
]R&   RR R llt  ! R R4      t!R R lt"R R lt#R# )z(Pluggable schema validator for pydantic.)annotationsN)Iterable)TYPE_CHECKINGAnyCallableLiteralTypeVar)
CoreConfig
CoreSchemaSchemaValidatorValidationError)	ParamSpec)BaseValidateHandlerProtocolPydanticPluginProtocol
SchemaKindSchemaTypePathPRzlist[Event]eventsc               s8    V ^8  d   QhRRRRRRRRRR	R
RRRRR/# )   schemar   schema_typer   schema_type_modulestrschema_type_nameschema_kindr   configCoreConfig | Noneplugin_settingszdict[str, Any] | Nonereturnz*SchemaValidator | PluggableSchemaValidator Zformat   "F/usr/lib/python3.14/site-packages/pydantic/plugin/_schema_validator.py__annotate__r"      sX     / /// / 	/
 / / +/ 0/    c           
     s    ^RI Hp ^RIHp V! 4       p	V	'       d"   \	        T TV! W#4      TTT	T;'       g    / 4      # \        W4      # )zCreate a `SchemaValidator` or `PluggableSchemaValidator` if plugins are installed.

Returns:
    If plugins are installed then return `PluggableSchemaValidator`, otherwise return `SchemaValidator`.
)r   )get_plugins) r   Z_loaderr$   PluggableSchemaValidatorr	   )
r   r   r   r   r   r   r   r   r$   pluginss
   &&&&&&&   r!   create_schema_validatorr(      sQ     !$mG'-@!!r
 	
 v..r#   c                  s6    ] tR t^6tRtRtR R ltR R ltRtR# )r&   zPluggable schema validator.c               s8    V ^8  d   QhRRRRRRRRR	R
RRRRRR/# )r   r   r   r   r   schema_type_pathr   r   r   r   r   r'   z Iterable[PydanticPluginProtocol]r   zdict[str, Any]r   ZNoner   r   r    r!   r"   %PluggableSchemaValidator.__annotate__;   sd     o oo o )	o
  o "o 2o (o 
or#   c           
     	s^   \        W4      V n        . p. p	. p
V F[  p VP                  WW4WW4      w  rpTe   TP                  T4       Te   T	P                  T4       Tf   KJ  T
P                  T4       K]  	  \        V P                  P                  V4      V n	        \        V P                  P                  V	4      V n
        \        V P                  P                  V
4      V n        R#   \         d9   p\        R TP                   RTP
                  P                   RT 24      ThRp?ii ; i)zError using plugin `Z:z`: N)r	   _schema_validatorZnew_schema_validatorZ	TypeError
__module__Z	__class____name__Zappendbuild_wrappervalidate_pythonvalidate_jsonvalidate_strings)selfr   r   r)   r   r   r'   r   Zpython_event_handlersZjson_event_handlersZstrings_event_handlersZpluginZpZjZsZes   &&&&&&&&        r!   __init__Z!PluggableSchemaValidator.__init__;   s-    "1!@CEACDFFu 55)9a
 }%,,Q/}#**1-}&--a0   -T-C-C-S-SUjk*4+A+A+O+OQde -d.D.D.U.UWm n  u"6v7H7H6I6K[K[KdKdJeehijhk lmsttus   C))D,43D''D,c               s     V ^8  d   QhRRRR/# )r   namer   r   r   r   r   r    r!   r"   r*   \   s     5 5 5 5r#   c                	s.    \        V P                  V4      # N)getattrr+   )r2   r4   s   &&r!   __getattr__Z$PluggableSchemaValidator.__getattr__\   s    t--t44r#   )r+   r0   r/   r1   N)	r-   r,   Z__qualname__Z__firstlineno____doc__Z	__slots__r3   r7   Z__static_attributes__r   r#   r!   r&   r&   6   s    %[IoB5 5r#   r&   c               s$    V ^8  d   QhRRRRRR/# )r   funczCallable[P, R]event_handlersz!list[BaseValidateHandlerProtocol]r   r   r   r    r!   r"   r"   `   s#       8Y ^l r#   c                s  a aaaa V'       g   S # \         ;QJ d    . R  V 4       F  NK  	  5M! R  V 4       4      o\         ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      o\         ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      o\         ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      o\        P                  ! S 4      R V VVVV3R ll4       pV# )c              3  b   "   T F%  p\        VR 4      '       g   K  VP                  x  K'  	  R# 5i)on_enterN)filter_handlersr<   Z.0Zh   & r!   	<genexpr> build_wrapper.<locals>.<genexpr>d   !     _nPQS]@^*!**n   //c              3  r;   )
on_successN)r=   rD   r>   r?   r!   r@   rA   e   s!     f>a_UVXdEe\Q\\>rC   c              3  r;   )on_errorN)r=   rE   r>   r?   r!   r@   rA   f   rB   rC   c              3  r;   )on_exceptionN)r=   rF   r>   r?   r!   r@   rA   g   s!     knXY[iHjnannnrC   c               $    V ^8  d   QhRRRRRR/# )r   argszP.argskwargszP.kwargsr   r   r   r   r    r!   r"   Z#build_wrapper.<locals>.__annotate__j   s!     	 	6 	X 	! 	r#   c                 s   < S
 F  pV! V / VB  K  	   S	! V / VB pS F  pV! V4       K  	  V#   \          d   pS F  pT! T4       K  	  h R p?i\         d   pS F  pT! T4       K  	  h R p?ii ; ir5   )r
   Z	Exception)rH   rI   Zon_enter_handlerZresultZon_success_handlerZerrorZon_error_handlerZ	exceptionZon_exception_handlerr9   	on_enters	on_errorson_exceptionson_successess   *,       r!   wrapperZbuild_wrapper.<locals>.wrapperi   s    $-  $1&1 %.t.v. +7&&v. +7 # (1$$U+ )2 ,9((3 -:s&   / A1AA1A1A,,A1)Ztuple	functoolsZwraps)r9   r:   rN   rJ   rK   rL   rM   s   f& @@@@r!   r.   r.   `   s    E_n_EE_n__	uf>fuuf>ffE_n_EE_n__	knkknkk			 	 
	& r#   c               rG   )r   handler_clsr   method_namer   r   Zboolr   r   r    r!   r"   r"      s#      !< 3 SW r#   c                sP    \        WR4      pVf   R# VP                  R8X  d   R# R# )zFilter out handler methods which are not implemented by the plugin directly - e.g. are missing
or are inherited from the protocol.
NFzpydantic.pluginT)r6   r,   )rP   rQ   Zhandlers   && r!   r=   r=      s/     k5G			0	0 r#   )Zon_validate_pythonZon_validate_jsonZon_validate_strings)NN)$__conditional_annotations__r8   Z
__future__r    rO   Zcollections.abcr   Ztypingr   r   r   r   r   Zpydantic_corer   r   r	   r
   Ztyping_extensionsr   r%   r   r   r   r   r   r   ZEventZlistZ__args__r   Z__annotations__r(   r&   r.   r=   )rR   s   @r!   <module>rS      sx    . "  $ A A R R 'aa cNCLOP5>>* */@'5 '5T@r#   