)Ejn+ UddlmZddlZddlZddlZddlZddlmZddlZddl m Z dddd d d d Z d6dZ d7dZ d8dZdddddZd6dZd7dZd8dZddd d!d"d#d$d%d&Zd'ed(<d9d*Zd7d+Zd8d,Zd9d-Zd7d.Zd8d/Zd:d;d5ZdS)<) annotationsN)IO)Image) PIL._imagingPILLOW_VERSION)zPIL._tkinter_finder tk_version)PIL._imagingftfreetype2_version)zPIL._imagingcmslittlecms_version)z PIL._webpwebpdecoder_version)z PIL._aviflibavif_version)piltkinter freetype2 littlecms2webpaviffeaturestrreturnboolc |tvrd|}t|t|\}} t|dS#t$rYdSt$r,}t jt|Yd}~dSd}~wwxYw)z Checks if a module is available. :param feature: The module to check for. :returns: ``True`` if available, ``False`` otherwise. :raises ValueError: If the module is not defined in this version of Pillow. zUnknown module TFN)modules ValueError __import__ModuleNotFoundError ImportErrorwarningswarnr)rmsgmoduleverexs >C:\PYTHON\MyICR_Suite\python\Lib\site-packages\PIL/features.py check_moduler&sg)))oo'"KFC6t uu  c"gguuuuusA B B!A==B str | Nonect|sdSt|\}}tt||g|S)z :param feature: The module to check for. :returns: The loaded version number as a string, or ``None`` if unknown or not available. :raises ValueError: If the module is not defined in this version of Pillow. Nfromlist)r&rgetattrr)rr"r#s r%version_moduler,/sF  t'"KFC :fu555s ; ;; list[str]c$dtDS)z4 :returns: A list of all supported modules. c0g|]}t||S)r&.0fs r% z)get_supported_modules..Bs# 2 2 2!,q// 2A 2 2 2r-)rr1r-r%get_supported_modulesr6>s 3 2w 2 2 22r-)jpegjpeglib)jpeg2kjp2klib)zipzlib)libtiffr=)jpgjpg_2000r<r=c|tvrd|}t|t|\}}|dttjvS)z Checks if a codec is available. :param feature: The codec to check for. :returns: ``True`` if available, ``False`` otherwise. :raises ValueError: If the codec is not defined in this version of Pillow. zUnknown codec _encoder)codecsrdirrcore)rr!codeclibs r% check_codecrGMsQf(w((ooJE3   UZ 00r-ct|sdSt|\}}ttj|d}|dkr4|ddddS|S)a :param feature: The codec to check for. :returns: The version number as a string, or ``None`` if not available. Checked at compile time for ``jpg``, run-time otherwise. :raises ValueError: If the codec is not defined in this version of Pillow. N_versionr= rzVersion r)rGrBr+rrDsplit)rrErFversions r% version_codecrM^sz w  tJE3ejS"2"2"233G)}}T""1%++J77:: Nr-c$dtDS)z3 :returns: A list of all supported codecs. c0g|]}t||Sr1)rGr2s r%r5z(get_supported_codecs..ws# 0 0 0!Q 0A 0 0 0r-)rBr1r-r%get_supported_codecsrPss 1 0v 0 0 00r-)r HAVE_RAQM raqm_version)r HAVE_FRIBIDIfribidi_version)r HAVE_HARFBUZZharfbuzz_version)rHAVE_LIBJPEGTURBOlibjpeg_turbo_version)r HAVE_MOZJPEGrX)r HAVE_ZLIBNGzlib_ng_version)rHAVE_LIBIMAGEQUANTimagequant_version)rHAVE_XCBN)raqmfribidiharfbuzz libjpeg_turbomozjpegzlib_ng libimagequantxcbz&dict[str, tuple[str, str, str | None]]features bool | Nonec.|tvrd|}t|t|\}}} t|dg}t||S#t$rYdSt $r,}t jt|Yd}~dSd}~wwxYw)z Checks if a feature is available. :param feature: The feature to check for. :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown. :raises ValueError: If the feature is not defined in this version of Pillow. zUnknown feature PILr)N) rgrrr+rrrr r)rr!r"flagr#imported_moduler$s r% check_featurermsh***oo )FD#$Vug>>>--- tt  c"ggttttts!A B B(!BBct|sdSt|\}}}|dStt||g|S)z :param feature: The feature to check for. :returns: The version number as a string, or ``None`` if not available. :raises ValueError: If the feature is not defined in this version of Pillow. Nr))rmrgr+r)rr"rkr#s r%version_featurerosS  ! !t )FD# {t :fu555s ; ;;r-c$dtDS)z5 :returns: A list of all supported features. c0g|]}t||Sr1)rmr2s r%r5z*get_supported_features..s% 4 4 4!=#3#3 4A 4 4 4r-)rgr1r-r%get_supported_featuresrrs 5 4x 4 4 44r-c|tvrt|S|tvrt|S|tvrt |St jd|dddS)z :param feature: A module, codec, or feature name. :returns: ``True`` if the module, codec, or feature is available, ``False`` or ``None`` otherwise. zUnknown feature 'z'.) stacklevelF)rr&rBrGrgrmrr rs r%checkrwsu'G$$$&7###(W%%% M1g111a@@@@ 5r-c|tvrt|S|tvrt|S|tvrt |SdS)z :param feature: The module, codec, or feature to check for. :returns: The version number as a string, or ``None`` if unknown or not available. N)rr,rBrMrgrorvs r%rLrLsT'g&&&&W%%%(w''' 4r-ct}|t|t|S)zJ :returns: A list of all supported modules, features, and codecs. )r6extendrrrP)rets r% get_supportedr|sF ! !CJJ%''(((JJ#%%&&& Jr-ToutIO[str] | Nonesupported_formatsNonec J | tj}tjt d|t dt j|tj}t d|d ||ddD](}t d| |)t d|t d tj pd |tj tj krt d tj |t d tj |t d|t d tjtj|t dtjtjj|t d|dD]!\}}t%|rd}|dkr,t'd}|t)drdnd}|d|zz }|t|}||dv}|dkr0t+d|dDdk}|rdnd} |dkrt'd} | |d| zz }n'|dkr!d D]} t'| } | |d!| d| z }t d"|d#| ||t d"|d$|t d%|d&|#t d||rt/jt2} tjD] \}}| ||!t;tjD]}|}|tjvr|dtj|}t |||| vrJt d' d!!t;| ||g}|tj"vr|d(|tj#vr|d)|tj$vr|d*|tj%vr|d+|tj&vr|d,t d- d!!||t d|dSdS).a  Prints information about this installation of Pillow. This function can be called with ``python3 -m PIL``. It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report`` to have "supported_formats" set to ``False``, omitting the list of all supported image file formats. :param out: The output stream to print to. Defaults to ``sys.stdout`` if ``None``. :param supported_formats: If ``True``, a list of all supported image file formats will be printed. NzD--------------------------------------------------------------------)filezPillow zPython rrz zPython executable is unknownz%Environment Python files loaded from z System Python files loaded from z"Python Pillow modules loaded from z"Binary Pillow modules loaded from ) )rzPIL CORE)rTKINTER)r FREETYPE2)r LITTLECMS2)rWEBP)rAVIF)r>JPEG)r?zOPENJPEG (JPEG2000))r<zZLIB (PNG/ZIP))r=LIBTIFF)r_zRAQM (Bidirectional Text))rez#LIBIMAGEQUANT (Quantization method))rfzXCB (X protocol)r>rbrcz libjpeg-turbo )rr>rc34K|]}t|VdS)N)int)r3xs r% zpilinfo..(s(*H*Ha3q66*H*H*H*H*H*Hr-.)rtz compiled forloadedr<rdz, compiled for zlib-ng r_)r`raz, z---z support ok,z support okz***zsupport not installedzExtensions: {}opensavesave_alldecodeencodez Features: {})'sysstdoutrinitprintrj __version__rL splitlinesstrip executableprefix base_prefixospathdirname__file__rDrwrormtuplerK collections defaultdictlist EXTENSIONitemsappendsortedIDMIMEformatjoinOPENSAVESAVE_ALLDECODERSENCODERS)r}rpy_version_lines py_versionnamervrXversion_statictr[r4v2 extensionsextilinergs r%pilinfors| {j JLLL ( %CO % %C0000{--// 1$Q'--// 1 1<<<<&qrr*88  , ((**,,377777 ( ?#."=I ? ?cJJJJ zS_$$ BcjBBMMMM >S_ > >SIIII ( NRW__U^-L-LNN  SRW__UZ=P-Q-QSS  (+E+E g ;; E Au}}(7(H(H%(4%29%=%=R ?A444AyDMM}!%!7<''%**H*H1773<<*H*H*H%H%H6%QN&4BNN(6>>&5i&@&@O&26HHV^^4//,Q//>a".AeWmQDDDDDeWl===== %"9 D D D D D (& ,T22 o++-- & &FC qM  % % % %!! & &A6DEJ00A00 $S ! ! ! !J$++DIIfZ]6K6K,L,LMMTWHEJ'''EJ'''EN"" +++EN"")))EN""))) .'' ((;(;<<3 G G G G ( % % % % %;&&  & &r-)rrrr)rrrr')rr.)rrrrh)NT)r}r~rrrr) __future__rrrrrtypingrrjrrr&r,r6rBrGrMrPrg__annotations__rmrorrrwrLr|rr1r-r%rs"""""""   .48: 0 ,   0 < < < <3333 % %   1111"*1111 <DGSHAQ - 4 4    0<<<<"5555$     t&t&t&t&t&t&t&r-