JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 vh@s8ddlZddlZddlmZddZddZddZdS) N)sixc CsVt|tjrtjd|Sy$|jd}tjd|}|jd}Wntk rPYnX|S)NZNFDzutf-8) isinstancer text_type unicodedataZ normalizedecodeencode UnicodeError)pathr #/usr/lib/python3.6/unicode_utils.py decomposes    r c CsXt|tjr|Stjpd}|df}x.|D]&}y |j|Stk rNw*Yq*Xq*WdS)zY Ensure that the given path is decoded, NONE when no expected encoding works zutf-8N)rrrsysgetfilesystemencodingrUnicodeDecodeError)r Zfs_encZ candidatesencr r r filesys_decodes    rc Cs$y |j|Stk rdSXdS)z/turn unicode encoding into a functional routineN)rUnicodeEncodeError)stringrr r r try_encode's r)rr Zsetuptools.externrr rrr r r r s