B ]@sddlmZmZddlZddlZddlZddlZddlmZddddd d Z d d Z d dZ dddddZ ddZ ddZddddddZddZd d!Zd"d#Zd$d%Zd(d&d'ZdS)))print_functionunicode_literalsN)Imagez PIL._imagingzPIL._tkinter_finderzPIL._imagingftzPIL._imagingcmsz PIL._webp)piltkinter freetype2 littlecms2webpcCsB|tkrtd|t|}y t|dStk r<dSXdS)NzUnknown module %sTF)modules ValueError __import__ ImportError)featuremoduler./tmp/pip-build-ktz6qwqq/Pillow/PIL/features.py check_modules rcCsddtDS)NcSsg|]}t|r|qSr)r).0frrr "sz)get_supported_modules..)r rrrrget_supported_modules!srZjpegZjpeg2kziplibtiff)jpgjpg_2000zlibrcCs.|tkrtd|t|}|dttjkS)NzUnknown codec %s_encoder)codecsr dirrcore)rcodecrrr check_codec(s r"cCsddtDS)NcSsg|]}t|r|qSr)r")rrrrrr2sz(get_supported_codecs..)rrrrrget_supported_codecs1sr#)z PIL._webpZ HAVE_WEBPANIM)z PIL._webpZ HAVE_WEBPMUX)z PIL._webpZHAVE_TRANSPARENCY)zPIL._imagingftZ HAVE_RAQM)z PIL._imagingZHAVE_LIBJPEGTURBO) webp_animwebp_mux transp_webpraqmZ libjpeg_turbocCsR|tkrtd|t|\}}yt|dgd}t||Stk rLdSXdS)NzUnknown feature %sPIL)fromlist)featuresr r getattrr)rrflagZimported_modulerrr check_feature>s   r-cCsddtDS)NcSsg|]}t|r|qSr)r-)rrrrrrLsz*get_supported_features..)r*rrrrget_supported_featuresKsr.cCs0|tkrt|p.|tkr t|p.|tko.t|S)N)r rrr"r*r-)rrrrcheckOs r/cCs"t}|t|t|S)N)rextendr.r#)retrrr get_supportedZs  r2c Csp|dkrtj}ttd|dtdtj|dtd|dtdtj tj |dtdtj tj j |dtd|dtj }td|d|dx*|ddD]}td ||dqWtd|dxr8r(rr rrrr"r#r*r-r.r/r2rSrrrrs2