a
    Åyd­  ć                   @   s,   d dl Z d dlZdd Zdd Zdd ZdS )é    Nc                 C   sR   t | trt d| ”S z$|  d”} t d| ”} |  d”} W n tyL   Y n0 | S )NZNFDśutf-8)Ś
isinstanceŚstrŚunicodedataZ	normalizeŚdecodeŚencodeŚUnicodeError)Śpath© r
   ś7lib/python3.9/site-packages/setuptools/unicode_utils.pyŚ	decompose   s    

r   c              	   C   sX   t | tr| S t ” pd}|df}|D ],}z|  |”W   S  tyP   Y q&Y q&0 q&dS )zY
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    r   N)r   r   ŚsysŚgetfilesystemencodingr   ŚUnicodeDecodeError)r	   Zfs_encZ
candidatesŚencr
   r
   r   Śfilesys_decode   s    
r   c                 C   s&   z|   |”W S  ty    Y dS 0 dS )z/turn unicode encoding into a functional routineN)r   ŚUnicodeEncodeError)Śstringr   r
   r
   r   Ś
try_encode%   s    r   )r   r   r   r   r   r
   r
   r
   r   Ś<module>   s   