a
    –Î`­  ã                   @   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
   ú:/usr/lib/python3/dist-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   