ó
¨9Vc           @   sG   d  d l  Z  d  d l Z d  d l m Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   unicodec         C   sk   t  |  t ƒ r t j d |  ƒ Sy4 |  j d ƒ }  t j d |  ƒ }  |  j d ƒ }  Wn t k
 rf n X|  S(   Nt   NFDs   utf-8(   t
   isinstancet   decoded_stringt   unicodedatat	   normalizet   decodet   encodet   UnicodeError(   t   path(    (    s<   /tmp/pip-build-5Z5nTX/setuptools/setuptools/unicode_utils.pyt	   decompose   s    c         C   sb   t  j ƒ  } t |  t ƒ r |  Sx< | d f D]. } y |  j | ƒ SWq, t k
 rY q, q, Xq, Wd S(   sY   
    Ensure that the given path is decoded,
    NONE when no expected encoding works
    s   utf-8N(   t   syst   getfilesystemencodingR   R   R   t   UnicodeDecodeError(   R	   t   fs_enct   enc(    (    s<   /tmp/pip-build-5Z5nTX/setuptools/setuptools/unicode_utils.pyt   filesys_decode   s    c         C   s*   y |  j  | ƒ SWn t k
 r% d SXd S(   s/   turn unicode encoding into a functional routineN(   R   t   UnicodeEncodeErrort   None(   t   stringR   (    (    s<   /tmp/pip-build-5Z5nTX/setuptools/setuptools/unicode_utils.pyt
   try_encode$   s    (   R   R   t   setuptools.compatR    R   R
   R   R   (    (    (    s<   /tmp/pip-build-5Z5nTX/setuptools/setuptools/unicode_utils.pyt   <module>   s
   		