+
    \i[
                       R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHtHt ]P                  R8  d+   ]P                  '       d
   ^ RIHtHt M]P                  t]tM^ RIHtHt . ROtR R lt]! R4      t]P                  ! R4      t]P                  ! R	4      t ! R
 R]]]3,          4      tR R ltR R ltR R ltR# )z?
This module contains dispatchers for use in project_table.py.
)annotationsN)CallableGeneric)Concatenate	ParamSpecc                   V ^8  d   QhRR/# )   returnz	list[str] )formats   "h/home/piyush/.cache/uv/builds-v0/.tmpPfdyTF/lib/python3.14/site-packages/pyproject_metadata/_dispatch.py__annotate__r       s           c                     \         # N)__all__r
   r   r   __dir__r       s    Nr   PRTc                  F    ] tR t^)tR R ltR R ltR R ltR R ltR	tR
# )KeyDispatcherc                    V ^8  d   QhRRRR/# )r   func Callable[Concatenate[str, P], R]r	   Noner
   )r   s   "r   r   KeyDispatcher.__annotate__*   s     - -= -$ -r   c                	L    Wn         / V n        \        P                  ! W4       R # r   )defaultregistry	functoolsupdate_wrapper)selfr   s   &&r   __init__KeyDispatcher.__init__*   s    9=EG  ,r   c                    V ^8  d   QhRRRR/# )r   valuestrr	   zNCallable[[Callable[Concatenate[str, P], R]], Callable[Concatenate[str, P], R]]r
   )r   s   "r   r   r   /   s      	Wr   c                   a a R V V3R llpV# )z'Register a function for an exact value.c                    V ^8  d   QhRRRR/# )r   r   r   r	   r
   )r   s   "r   r   ,KeyDispatcher.register.<locals>.__annotate__4   s     	 	2	-	r   c                &   < V SP                   S&   V # r   )r   )r   r"   r&   s   &r   	decorator)KeyDispatcher.register.<locals>.decorator4   s     $(DMM% Kr   r
   )r"   r&   r,   s   ff r   registerKeyDispatcher.register/   s    
	 	 r   c                    V ^8  d   QhRRRR/# )r   r&   r'   r	   r   r
   )r   s   "r   r   r   <   s     7 7c 7&F 7r   c                   V P                    Uu. uF2  p\        P                  ! W!\        P                  4      '       g   K0  VNK4  	  ppV'       d
   V^ ,          MRpV P                   P	                  W@P
                  4      # u upi )z4Return the registered implementation or the default. )r   re	fullmatchASCIIgetr   )r"   r&   keyresultsresults   &&   r   dispatchKeyDispatcher.dispatch<   sY    "&--V-32<<BHH3U33-V&B}}  66 Ws   -BBc               (    V ^8  d   QhRRRRRRRR/# )	r   r&   r'   argszP.argskwargszP.kwargsr	   r   r
   )r   s   "r   r   r   B   s(     , ,c ,& ,H , ,r   c                	<    V P                  V4      pV! V.VO5/ VB # r   )r:   )r"   r&   r=   r>   impls   &&*, r   __call__KeyDispatcher.__call__B   s%    }}U#E+D+F++r   )r   r   N)	__name__
__module____qualname____firstlineno__r#   r.   r:   rA   __static_attributes__r
   r   r   r   r   )   s    -
7, ,r   r   c                    V ^8  d   QhRRRR/# )r   r   r   r	   zKeyDispatcher[P, R]r
   )r   s   "r   r   r   G   s      6 ;N r   c                    \        V 4      # )z)Decorate a function into a KeyDispatcher.)r   )r   s   &r   keydispatchrJ   G   s    r   c                    V ^8  d   QhRRRR/# )r   	type_hintobjectr	   boolr
   )r   s   "r   r   r   L   s     U UV U Ur   c                    \         P                  R8  d   \        P                  ! V 4      # \	        V R4      ;'       d    \	        V R4      # )   __annotations__	__total__rP   
   )sysversion_infotypingis_typeddicthasattr)rL   s   &r   is_typed_dictrZ   L   s>    
7"""9--9/0TTWY5TTr   c                    V ^8  d   QhRRRR/# )r   rL   ztype[object]r	   r'   r
   )r   s   "r   r   r   R   s     	 	 	 	r   c                    \         P                  ! V 4      ;p'       dU   \         P                  ! V 4      ;p'       d+   RP                  R V 4       4      pVP                   RV R2# VP                  # V P                  # )z?
Get the name of a type hint as a readable modern Python type.
z, c              3  8   "   T F  p\        V4      x  K  	  R # 5ir   )get_name).0as   & r   	<genexpr>get_name.<locals>.<genexpr>X   s     !<t!(1++ts   [])rW   
get_originget_argsjoinrC   )rL   originr=   	arg_namess   &   r   r^   r^   R   sp     ""9--v-??9--4-		!<t!<<Ioo&a	{!44r   rS   )r^   rZ   rJ   )__doc__
__future__r   r    r3   rU   rW   r   r   rV   TYPE_CHECKINGtyping_extensionsr   r   TypeVarrM   r   r   r   r   r   r   rJ   rZ   r^   r
   r   r   <module>ro      s    #  	 
  $g<<NN	- cN
NN3
NN3,GAqDM ,<
U	r   