U
    ‘M‘fä  ã                   @   s8   d dl Z d dlZd dlmZ dd„ Zdd„ Zdd„ ZdS )	é    N)Úsixc                 C   sV   t | tjƒrt d| ¡S z$|  d¡} t d| ¡} |  d¡} W n tk
rP   Y nX | S )NZNFDúutf-8)Ú
isinstancer   Ú	text_typeÚunicodedataÚ	normalizeÚdecodeÚencodeÚUnicodeError)Úpath© r   ú</tmp/pip-unpacked-wheel-0voeo1ty/setuptools/unicode_utils.pyÚ	decompose   s    
r   c              	   C   s\   t | tjƒr| S t ¡ pd}|df}|D ].}z|  |¡W   S  tk
rT   Y q(Y q(X q(dS )zY
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    r   N)r   r   r   ÚsysÚgetfilesystemencodingr   ÚUnicodeDecodeError)r   Zfs_encÚ
candidatesÚencr   r   r   Úfilesys_decode   s    r   c                 C   s(   z|   |¡W S  tk
r"   Y dS X dS )z/turn unicode encoding into a functional routineN)r	   ÚUnicodeEncodeError)Ústringr   r   r   r   Ú
try_encode'   s    r   )r   r   Zsetuptools.externr   r   r   r   r   r   r   r   Ú<module>   s
   