+
    WBi                        ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHt ]'       d   ^ RIHtHtHtHtHt  ! R	 R
]4      t ! R R]4      t ! R R4      t ! R R]P2                  4      tR# )    )annotationsN)ABCabstractmethod)ChainMap)contextmanager)TYPE_CHECKINGAny)path_to_uri)IterableIteratorMappingMutableMappingSequencec                  B    ] tR t^t]R R l4       t]R R l4       tRtR# )ContextFormatterc                   V ^8  d   QhRR/#    returnr    )formats   "</usr/lib/python3.14/site-packages/hatchling/utils/context.py__annotate__ContextFormatter.__annotate__   s           c                    R# )z
This returns a mapping of supported field names to their respective formatting functions. Each function
accepts 2 arguments:

- the `value` that was passed to the format call, defaulting to `None`
- the modifier `data`, defaulting to an empty string
Nr   selfs   &r   get_formattersContextFormatter.get_formatters   s    r   c               $    V ^8  d   QhRRRRRR/# )r   pathstrmodifierr   r   )r   s   "r   r   r      s!     " "s "c "c "r   c                	:   V'       g    \         P                  P                  V4      # VP                  R 4      RRR1,          pV'       d@   VR,          R8X  d2   \         P                  P	                  V4      pVP                  4        KG  V'       g   V# \        V4      ^8  d)   RRP                  \        V4      4       2p\        V4      hV^ ,          pVR8X  d   \        V4      # VR8X  d    \         P                  P                  V4      # RV 2p\        V4      h)	:Nparentz1Expected a single path modifier and instead got: z, urirealzUnknown path modifier: )osr"   normpathsplitdirnamepoplenjoinreversed
ValueErrorr
   realpath)clsr"   r$   	modifiersmessages   &&&  r   format_pathContextFormatter.format_path   s    77##D))NN3'"-	IbMX577??4(DMMOKy>AI$))T\]fTgJhIijGW%%Q<ut$$v77##D))+H:6!!r   r   N)	__name__
__module____qualname____firstlineno__r   r   classmethodr8   __static_attributes__r   r   r   r   r      s(      " "r   r   c                  n    ] tR t^7tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltRtR# )DefaultContextFormatterdefaultc                    V ^8  d   QhRRRR/# r   rootr#   r   Noner   )r   s   "r   r   $DefaultContextFormatter.__annotate__:   s      S T r   c                	    Wn         R # N)_DefaultContextFormatter__rootr   rE   s   &&r   __init__ DefaultContextFormatter.__init__:   s    r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   rG   =   s     
 
 
r   c           
     	~    R V P                   RV P                  RV P                  RV P                  RV P                  /# )/;envhomerE   )4_DefaultContextFormatter__format_directory_separator/_DefaultContextFormatter__format_path_separator$_DefaultContextFormatter__format_env%_DefaultContextFormatter__format_home%_DefaultContextFormatter__format_rootr   s   &r   r   &DefaultContextFormatter.get_formatters=   sC    22--4$$D&&D&&
 	
r   c               $    V ^8  d   QhRRRRRR/# r   valuer#   datar   r   )r   s   "r   r   rG   F   s!      # S S r   c                	"    \         P                  # rI   )r+   sepr   r\   r]   s   &&&r   __format_directory_separator4DefaultContextFormatter.__format_directory_separatorF   s    vvr   c               $    V ^8  d   QhRRRRRR/# r[   r   )r   s   "r   r   rG   I   s!      S   r   c                	"    \         P                  # rI   )r+   pathsepr`   s   &&&r   __format_path_separator/DefaultContextFormatter.__format_path_separatorI   s    zzr   c               $    V ^8  d   QhRRRRRR/# r[   r   )r   s   "r   r   rG   L   s!     3 33 3c 3c 3r   c                	:    V P                  V P                  V4      # rI   )r8   rJ   r`   s   &&&r   __format_root%DefaultContextFormatter.__format_rootL   s    T22r   c               $    V ^8  d   QhRRRRRR/# r[   r   )r   s   "r   r   rG   O   s!     ? ?3 ?c ?c ?r   c                	`    V P                  \        P                  P                  R 4      V4      # )~)r8   r+   r"   
expanduserr`   s   &&&r   __format_home%DefaultContextFormatter.__format_homeO   s$     2 23 7>>r   c               $    V ^8  d   QhRRRRRR/# r[   r   )r   s   "r   r   rG   R   s!      # S S r   c                	    V'       g   R p\        V4      hVP                  R4      w  rEpV\        P                  9   d   \        P                  V,          # V'       g   RV 2p\        V4      hV# )z6The `env` context formatting field requires a modifierr&   z5Nonexistent environment variable must set a default: )r3   	partitionr+   environ)r   r\   r]   r7   env_var	separatorrB   s   &&&    r   __format_env$DefaultContextFormatter.__format_envR   sb    NGW%%&*nnS&9#Gbjj ::g&&MgYWGW%%r   )__rootN)r:   r;   r<   r=   CONTEXT_NAMErL   r   rT   rU   rX   rW   rV   r?   r   r   r   rA   rA   7   s/    L
3? r   rA   c                  h    ] tR t^btR R ltR R ltR R lt]R R l4       tR	 R
 lt	R R lt
RtR# )Contextc                    V ^8  d   QhRRRR/# rD   r   )r   s   "r   r   Context.__annotate__c   s     ? ?S ?T ?r   c                	    \        V4      V n        \        4       V n        \	        4       V n        \        V P                  4      V n        V P                  \        V P                  4      4       R # rI   )
r#   _Context__rootr   _Context__formattersset_Context__configured_contextsContextStringFormatter_Context__formatteradd_contextrA   rK   s   &&r   rL   Context.__init__c   sN    $i '/j/2u"1$2C2CD0=>r   c               $    V ^8  d   QhRRRRRR/# )r   argsr	   kwargsr   r#   r   )r   s   "r   r   r   m   s!     8 8C 83 83 8r   c                	:    V P                   P                  ! V/ VB # rI   )r   r   )r   r   r   s   &*,r   r   Context.formatm   s    &&777r   c                    V ^8  d   QhRRRR/# )r   contextrA   r   rF   r   )r   s   "r   r   r   p   s     = =#: =t =r   c                	    VP                   V P                  9   d   R # V P                  VP                  4       4       V P                  P	                  VP                   4       R # rI   )r{   r   _Context__add_formattersr   addr   r   s   &&r   r   Context.add_contextp   sJ    4#=#==g4467""&&w';';<r   c                    V ^8  d   QhRRRR/# )r   r   rA   r   r   r   )r   s   "r   r   r   x   s     ' '%< ' 'r   c              #  	   "   V P                  VP                  4       4        R x  V P                  4        R #   T P                  4        i ; i5irI   )r   r   _Context__remove_formattersr   s   &&r   apply_contextContext.apply_contextw   s<     g4467	'$$&D$$&s    A9 AAAc                    V ^8  d   QhRRRR/# )r   
formattersr   r   rF   r   )r   s   "r   r   r      s     < <> <d <r   c                	N    V P                   P                  P                  ^ V4      # )r   )r   mapsinsert)r   r   s   &&r   __add_formattersContext.__add_formatters   s!      %%,,Q
;;r   c                   V ^8  d   QhRR/# )r   r   rF   r   )r   s   "r   r   r      s     * *T *r   c                	    \        V P                  P                  4      ^8  d(   V P                  P                  P                  ^ 4       R# R# )   N)r0   r   r   r/   r   s   &r   __remove_formattersContext.__remove_formatters   s:    t  %%&*""&&q) +r   )__configured_contexts__formatter__formattersrz   N)r:   r;   r<   r=   rL   r   r   r   r   r   r   r?   r   r   r   r}   r}   b   s4    ?8= ' '<* *r   r}   c                  p   a  ] tR t^tR V 3R lltR R ltR V 3R lltR V 3R lltR	 V 3R
 lltRt	V ;t
# )r   c                    V ^8  d   QhRRRR/# )r   r   r   r   rF   r   )r   s   "r   r   #ContextStringFormatter.__annotate__   s     ' '8 ' 'r   c                	0   < \         SV `  4        Wn        R # rI   )superrL   #_ContextStringFormatter__formatters)r   r   	__class__s   &&r   rL   ContextStringFormatter.__init__   s    &r   c               (    V ^8  d   QhRRRRRRRR/# )r   format_stringr#   r   Sequence[Any]r   Mapping[str, Any]r   r   )r   s   "r   r   r      s*      S  GX ]` r   c                	h    \        4       pV P                  WW4^
4      w  rVV P                  WBV4       V# )
   )r   _vformatcheck_unused_args)r   r   r   r   	used_argsresult_s   &&&&   r   vformatContextStringFormatter.vformat   s4     E	MM-v"M	y7r   c               (    V ^8  d   QhRRRRRRRR/# )	r   keyz	int | strr   r   r   r   r   r	   r   )r   s   "r   r   r      s*     	0 	0Y 	0m 	0EV 	0[^ 	0r   c                	   < WP                   9   d   VP                  \        V4      4      #  \        SV `  WV4      #   \
         d    R T R2p\        T4      Rhi ; i)zUnknown context field ``N)r   getr#   r   	get_valueKeyErrorr3   )r   r   r   r   r7   r   s   &&&& r   r    ContextStringFormatter.get_value   sc    ###::c#h''	07$S77 	0/uA6GW%4/	0s	   = Ac               $    V ^8  d   QhRRRRRR/# )r   r\   r	   format_specr#   r   r   )r   s   "r   r   r      s!     8 8# 8C 8C 8r   c                	   < VP                  R 4      w  r4pW0P                  9   d   V P                  V,          ! W4      # \        SV `  W4      # )r&   )rt   r   r   format_field)r   r\   r   	formatterr   r]   r   s   &&&   r   r   #ContextStringFormatter.format_field   sJ    (2237	d)))$$Y/<<w#E77r   c                    V ^8  d   QhRRRR/# )r   r   r#   r   r   r   )r   s   "r   r   r      s     H H3 H8 Hr   c              #  	   <"   \         SV `  V4       F*  w  r#rEW0P                  9   d   W#V R V 2V3x  K$  W#WE3x  K,  	  R# 5i)r&   N)r   parser   )r   r   literal_text
field_namer   
conversionr   s   &&    r   r   ContextStringFormatter.parse   sO     AF}A]=Lk...":,a}0MzYY"GG	 B^s   A A)r   )r:   r;   r<   r=   rL   r   r   r   r   r?   __classcell__)r   s   @r   r   r      s2    ' '
	0 	08 8H Hr   r   )
__future__r   r+   stringabcr   r   collectionsr   
contextlibr   typingr   r	   hatchling.utils.fsr
   collections.abcr   r   r   r   r   r   rA   r}   	Formatterr   r   r   r   <module>r      s`    " 	  #   % % *UU$"s $"N(. (V"* "*J&HV-- &Hr   