Ë
    ¨Õ°j÷  ã                   óº   — d dl Z d dlZd dlmZ ddlmZ ddlmZ d„ Zd„ Z	d„ Z
d	„ Zej                  fd
edefd„Zej                  fded
eddfd„Z G d„ de«      Zy)é    N)ÚRawConfigParseré   )Úpy39)ÚSetuptoolsDeprecationWarningc                 óä   — t        | t        «      rt        j                  d| «      S 	 | j	                  d«      } t        j                  d| «      } | j                  d«      } | S # t        $ r Y | S w xY w)NÚNFDúutf-8)Ú
isinstanceÚstrÚunicodedataÚ	normalizeÚdecodeÚencodeÚUnicodeError)Úpaths    úN/var/www/mission/venv/lib/python3.12/site-packages/setuptools/unicode_utils.pyÚ	decomposer   
   sr   € Ü�$œÔÜ×$Ñ$ U¨DÓ1Ð1ðØ�{‰{˜7Ó#ˆÜ×$Ñ$ U¨DÓ1ˆØ�{‰{˜7Ó#ˆð €Køô ò ØØ€Kðús   ¨8A" Á"	A/Á.A/c                 óR   — t        | t        «      rt        j                  d| «      S | S )a  
    Return *text* in a canonical Unicode form (NFC) so that names which are
    visually identical but encoded differently compare equal.

    macOS APFS/HFS+ store file names in decomposed form (NFD), while patterns
    in ``MANIFEST.in`` are typically authored composed (NFC). The two denote
    the same file but differ byte-for-byte, so matching them directly lets an
    exclusion silently fail. Normalizing both the walked path and the pattern
    to a single form before matching avoids that (GHSA-h35f-9h28-mq5c).
    ÚNFC)r
   r   r   r   )Útexts    r   r   r      s%   € ô 2<¸DÄ#Ô1FŒ;× Ñ  ¨Ó-ÐPÈDÐPó    c                 ó²   — t        | t        «      r| S t        j                  «       xs d}|df}|D ]  }	 | j	                  |«      c S  y# t
        $ r Y Œ$w xY w)z]
    Ensure that the given path is decoded,
    ``None`` when no expected encoding works
    r	   N)r
   r   ÚsysÚgetfilesystemencodingr   ÚUnicodeDecodeError)r   Úfs_encÚ
candidatesÚencs       r   Úfilesys_decoder   $   sk   € ô �$œÔØˆä×&Ñ&Ó(Ò3¨G€FØ˜�€Jàò ˆð	Ø—;‘;˜sÓ#Ò#ðð øô "ò 	Ùð	ús   µA
Á
	AÁAc                 óD   — 	 | j                  |«      S # t        $ r Y yw xY w)z/turn unicode encoding into a functional routineN)r   ÚUnicodeEncodeError)Ústringr   s     r   Ú
try_encoder#   9   s(   € ðØ�}‰}˜SÓ!Ð!øÜò Ùðús   ‚ “	žÚfileÚreturnc                 ó"  — 	 t        | dd¬«      5 }|j                  «       cddd«       S # 1 sw Y   yxY w# t        $ rO t        j	                  | |¬«       t        | d|¬«      5 }|j                  «       cddd«       cY S # 1 sw Y   Y yxY ww xY w)a
  
    First try to read the file with UTF-8, if there is an error fallback to a
    different encoding ("locale" by default). Returns the content of the file.
    Also useful when reading files that might have been produced by an older version of
    setuptools.
    Úrr	   ©ÚencodingN©r$   Úfallback_encoding)ÚopenÚreadr   Ú_Utf8EncodingNeededÚemit)r$   r+   Úfs      r   Ú_read_utf8_with_fallbackr1   A   s‚   € ðÜ�$˜ gÔ.ð 	°!Ø—6‘6“8÷	÷ 	ò 	ûäò Ü× Ñ  dÐ>OÐ ÔPÜ�$˜Ð&7Ô8ð 	¸AØ—6‘6“8÷	÷ 	õ 	úðús;   ‚6 �* 	6 ª3¯6 ³6 ¶.BÁ$B Á4
BÂ B
	ÂBÂ
BÚcfgc                 ó¾   — 	 | j                  |d¬«       y# t        $ r= t        j                  ||¬«       | j	                  «        | j                  ||¬«       Y yw xY w)z“Same idea as :func:`_read_utf8_with_fallback`, but for the
    :meth:`RawConfigParser.read` method.

    This method may call ``cfg.clear()``.
    r	   r(   r*   N)r-   r   r.   r/   Úclear)r2   r$   r+   s      r   Ú_cfg_read_utf8_with_fallbackr5   Q   sT   € ð3Ø�‰� ˆÕ(øÜò 3Ü× Ñ  dÐ>OÐ ÔPØ�	‰	ŒØ�‰�Ð 1ˆÖ2ð3ús   ‚ –AAÁAc                   ó   — e Zd ZdZdZy)r.   zZ
    `encoding="utf-8"` fails with {file!r}, trying `encoding={fallback_encoding!r}`.
    aÚ  
    Fallback behavior for UTF-8 is considered **deprecated** and future versions of
    `setuptools` may not implement it.

    Please encode {file!r} with "utf-8" to ensure future builds will succeed.

    If this file was produced by `setuptools` itself, cleaning up the cached files
    and re-building/re-installing the package with a newer version of `setuptools`
    (e.g. by updating `build-system.requires` in its `pyproject.toml`)
    might solve the problem.
    N)Ú__name__Ú
__module__Ú__qualname__Ú_SUMMARYÚ_DETAILS© r   r   r.   r.   a   s   „ ð€Hð
�Hr   r.   )r   r   Úconfigparserr   Úcompatr   Úwarningsr   r   r   r   r#   ÚLOCALE_ENCODINGr   r1   r5   r.   r<   r   r   ú<module>rA      s}   ðÛ 
Û Ý (å Ý 2ò	òQòò*ð ;?×:NÑ:Nñ  3ð ÐSVó ð" 8<×7KÑ7Kñ3Ø	ð3Ø #ð3à	ó3ô Ð6õ r   