§
    aÒ³gþ+  ã                  ó  — U d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZddl	m
Z
 ddlmZ ddd	d
ddœZd6d„Zd7d„Zd8d„ZdddddœZd6d„Zd7d„Zd8d„Zddddd d!d"d#d$d%d&œ
Zd'ed(<   d9d*„Zd7d+„Zd8d,„Zd9d-„Zd7d.„Zd8d/„Zd:d;d5„ZdS )<é    )ÚannotationsN)ÚIOé   )ÚImage)Ú	deprecate)úPIL._imagingÚPILLOW_VERSION)zPIL._tkinter_finderÚ
tk_version)úPIL._imagingftÚfreetype2_version)zPIL._imagingcmsÚlittlecms_version)ú	PIL._webpÚwebpdecoder_version)ÚpilÚtkinterÚ	freetype2Ú
littlecms2ÚwebpÚfeatureÚstrÚreturnÚboolc                ó
  — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}	 t          |¦  «         dS # t          $ r Y dS t          $ r,}t          j        t          |¦  «        ¦  «         Y d}~dS d}~ww xY w)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.
    zUnknown module TFN)ÚmodulesÚ
ValueErrorÚ
__import__ÚModuleNotFoundErrorÚImportErrorÚwarningsÚwarnr   )r   ÚmsgÚmoduleÚverÚexs        úJ/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/PIL/features.pyÚcheck_moduler&      s©   € ð •gÐÐØ) Ð)Ð)ˆÝ˜‰oŒoÐå˜'Ô"�K€FˆCðÝ�6ÑÔÐØˆtøÝð ð ð ØˆuˆuÝð ð ð ÝŒ•c˜"‘g”gÑÔÐØˆuˆuˆuˆuˆuøøøøðøøøs   ¯A  Á 
BÁ	BÁ!A=Á=Bú
str | Nonec                ó„   — t          | ¦  «        sdS t          |          \  }}t          t          ||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.
    N©Úfromlist)r&   r   Úgetattrr   )r   r"   r#   s      r%   Úversion_moduler,   /   sF   € õ ˜Ñ Ô ð Øˆtå˜'Ô"�K€FˆCå•:˜f°¨uÐ5Ñ5Ô5°sÑ;Ô;Ð;ó    ú	list[str]c                 ó$   — d„ t           D ¦   «         S )z4
    :returns: A list of all supported modules.
    c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS © )r&   ©Ú.0Úfs     r%   ú
<listcomp>z)get_supported_modules.<locals>.<listcomp>B   s#   € Ð2Ð2Ð2�!¥,¨q¡/¤/Ð2ˆAÐ2Ð2Ð2r-   )r   r1   r-   r%   Úget_supported_modulesr6   >   s   € ð 3Ð2•wÐ2Ñ2Ô2Ð2r-   )ÚjpegÚjpeglib)Újpeg2kÚjp2klib)ÚzipÚzlib)Úlibtiffr=   )ÚjpgÚjpg_2000r<   r=   c                ó˜   — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}|› d�t          t          j        ¦  «        v S )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.
    zUnknown codec Ú_encoder)Úcodecsr   Údirr   Úcore)r   r!   ÚcodecÚlibs       r%   Úcheck_codecrG   M   sQ   € ð •fÐÐØ(˜wÐ(Ð(ˆÝ˜‰oŒoÐå˜”�J€Eˆ3àÐÐÐ¥¥U¤Z¡¤Ð0Ð0r-   c                óö   — t          | ¦  «        sdS t          |          \  }}t          t          j        |› d�¦  «        }| dk    r4|                     d¦  «        d                              d¦  «        d         S |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=   ú
r   zVersion r   )rG   rB   r+   r   rD   Úsplit)r   rE   rF   Úversions       r%   Úversion_codecrM   ^   sz   € õ �wÑÔð Øˆtå˜”�J€Eˆ3å•e”j SÐ"2Ð"2Ð"2Ñ3Ô3€Gà�)ÒÐØ�}Š}˜TÑ"Ô" 1Ô%×+Ò+¨JÑ7Ô7¸Ô:Ð:à€Nr-   c                 ó$   — d„ t           D ¦   «         S )z3
    :returns: A list of all supported codecs.
    c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS r1   )rG   r2   s     r%   r5   z(get_supported_codecs.<locals>.<listcomp>w   s#   € Ð0Ð0Ð0�!¥¨Q¡¤Ð0ˆAÐ0Ð0Ð0r-   )rB   r1   r-   r%   Úget_supported_codecsrP   s   s   € ð 1Ð0•vÐ0Ñ0Ô0Ð0r-   )r   TN)r   Ú	HAVE_RAQMÚraqm_version)r   ÚHAVE_FRIBIDIÚfribidi_version)r   ÚHAVE_HARFBUZZÚharfbuzz_version)r   ÚHAVE_LIBJPEGTURBOÚlibjpeg_turbo_version)r   ÚHAVE_ZLIBNGÚzlib_ng_version)r   ÚHAVE_LIBIMAGEQUANTÚimagequant_version)r   ÚHAVE_XCBN)
Ú	webp_animÚwebp_muxÚtransp_webpÚraqmÚfribidiÚharfbuzzÚlibjpeg_turboÚzlib_ngÚlibimagequantÚxcbz-dict[str, tuple[str, str | bool, str | None]]Úfeaturesúbool | Nonec                ó®  — | t           vrd| › �}t          |¦  «        ‚t           |          \  }}}t          |t          ¦  «        rt	          d| › d�d¦  «         	 t          |dg¬¦  «        }t          |t          ¦  «        r|S t          ||¦  «        S # t          $ r Y dS t          $ r,}t          j
        t          |¦  «        ¦  «         Y d}~dS d}~ww xY w)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.
    zUnknown feature zcheck_feature("z")é   ÚPILr)   N)rh   r   Ú
isinstancer   r   r   r+   r   r   r   r    r   )r   r!   r"   Úflagr#   Úimported_moduler$   s          r%   Úcheck_featurerp   ˆ   s  € ð •hÐÐØ* Ð*Ð*ˆÝ˜‰oŒoÐå  Ô)Ñ€FˆD�#å�$�ÑÔð 5ÝÐ/ GÐ/Ð/Ð/°Ñ4Ô4Ð4ð	Ý$ V°u°gÐ>Ñ>Ô>ˆÝ�d�DÑ!Ô!ð 	ØˆKÝ�¨Ñ-Ô-Ð-øÝð ð ð ØˆtˆtÝð ð ð ÝŒ•c˜"‘g”gÑÔÐØˆtˆtˆtˆtˆtøøøøðøøøs$   Á(B ÂB Â
CÂ	CÂ(!CÃCc                óŽ   — t          | ¦  «        sdS t          |          \  }}}|€dS t          t          ||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)   )rp   rh   r+   r   )r   r"   rn   r#   s       r%   Úversion_featurerr   ¤   sS   € õ ˜Ñ!Ô!ð Øˆtå  Ô)Ñ€FˆD�#à
€{Øˆtå•:˜f°¨uÐ5Ñ5Ô5°sÑ;Ô;Ð;r-   c                 ó>  — g } t                                ¦   «         D ]€\  }\  }}}|du rOt                               ¦   «         D ]4\  }\  }}||k    r&t          |¦  «        r|                      |¦  «          nŒ5Œ\t          |¦  «        r|                      |¦  «         Œ�| S )z5
    :returns: A list of all supported features.
    T)rh   Úitemsr   r&   Úappendrp   )Úsupported_featuresr4   r"   rn   Ú_r   Úfeature_modules          r%   Úget_supported_featuresry   µ   sÀ   € ð ÐÝ (§¢Ñ 0Ô 0ð )ð )ÑˆÑˆF�D˜!Ø�4ˆ<ˆ<Ý07·²±´ð ð Ñ,�Ñ,˜.¨!Ø! VÒ+Ð+Ý# GÑ,Ô,ð 5Ø*×1Ò1°!Ñ4Ô4Ð4Ø�Eð ,øõ ˜1ÑÔð 	)Ø×%Ò% aÑ(Ô(Ð(øØÐr-   c                óÊ   — | t           v rt          | ¦  «        S | t          v rt          | ¦  «        S | t          v rt          | ¦  «        S t          j        d| › d�d¬¦  «         dS )z²
    :param feature: A module, codec, or feature name.
    :returns:
        ``True`` if the module, codec, or feature is available,
        ``False`` or ``None`` otherwise.
    zUnknown feature 'z'.é   )Ú
stacklevelF)r   r&   rB   rG   rh   rp   r   r    ©r   s    r%   Úcheckr~   Æ   su   € ð •'ÐÐÝ˜GÑ$Ô$Ð$Ø•&ÐÐÝ˜7Ñ#Ô#Ð#Ø•(ÐÐÝ˜WÑ%Ô%Ð%Ý„MÐ1 gÐ1Ð1Ð1¸aÐ@Ñ@Ô@Ð@Øˆ5r-   c                ó–   — | t           v rt          | ¦  «        S | t          v rt          | ¦  «        S | t          v rt          | ¦  «        S dS )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)r   r,   rB   rM   rh   rr   r}   s    r%   rL   rL   Ø   sT   € ð •'ÐÐÝ˜gÑ&Ô&Ð&Ø•&ÐÐÝ˜WÑ%Ô%Ð%Ø•(ÐÐÝ˜wÑ'Ô'Ð'Øˆ4r-   c                 ó¦   — t          ¦   «         } |                      t          ¦   «         ¦  «         |                      t          ¦   «         ¦  «         | S )zJ
    :returns: A list of all supported modules, features, and codecs.
    )r6   Úextendry   rP   )Úrets    r%   Úget_supportedrƒ   è   sF   € õ
  Ñ
!Ô
!€CØ‡J‚JÕ%Ñ'Ô'Ñ(Ô(Ð(Ø‡J‚JÕ#Ñ%Ô%Ñ&Ô&Ð&Ø€Jr-   TÚoutúIO[str] | NoneÚsupported_formatsÚNonec                ó
  — | €t           j        } t          j        ¦   «          t	          d| ¬¦  «         t	          dt
          j        › �| ¬¦  «         t           j                             ¦   «         }t	          d|d          	                    ¦   «         › �| ¬¦  «         |dd…         D ](}t	          d| 	                    ¦   «         › �| ¬¦  «         Œ)t	          d| ¬¦  «         t	          d	t           j
        pd
› �| ¬¦  «         t           j        t           j        k    rt	          dt           j        › �| ¬¦  «         t	          dt           j        › �| ¬¦  «         t	          d| ¬¦  «         t	          dt          j                             t          j        ¦  «        › �| ¬¦  «         t	          dt          j                             t          j        j        ¦  «        › �| ¬¦  «         t	          d| ¬¦  «         dD �]
\  }}t%          |¦  «        râd}|dk    rt'          d¦  «        }|�d|z   }|€t          |¦  «        }|��|dv }|dk    r0t)          d„ |                     d¦  «        D ¦   «         ¦  «        dk     }|rdnd}	|dk    rt'          d¦  «        }
|
�|d|
z   z  }n'|dk    r!dD ]}t'          |¦  «        }|�|d|› d |› �z  }Œt	          d!|d"|	|| ¬¦  «         Œãt	          d!|d#| ¬¦  «         Œ÷t	          d$|d%| ¬¦  «         �Œt	          d| ¬¦  «         |�röt-          j        t0          ¦  «        }t          j                             ¦   «         D ] \  }}||                              |¦  «         Œ!t9          t          j        ¦  «        D �]…}|› }|t          j        v r|› d t          j        |         › �}t	          || ¬¦  «         ||v rJt	          d&                     d                      t9          ||         ¦  «        ¦  «        ¦  «        | ¬¦  «         g }|t          j!        v r|                     d'¦  «         |t          j"        v r|                     d(¦  «         |t          j#        v r|                     d)¦  «         |t          j$        v r|                     d*¦  «         |t          j%        v r|                     d+¦  «         t	          d,                     d                      |¦  «        ¦  «        | ¬¦  «         t	          d| ¬¦  «         �Œ…dS dS )-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--------------------------------------------------------------------)ÚfilezPillow zPython r   r   z       zPython 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 ))r   zPIL CORE)r   ÚTKINTER)r   Ú	FREETYPE2)r   Ú
LITTLECMS2)r   ÚWEBP)r>   ÚJPEG)r?   zOPENJPEG (JPEG2000))r<   zZLIB (PNG/ZIP))r=   ÚLIBTIFF)ra   zRAQM (Bidirectional Text))rf   z#LIBIMAGEQUANT (Quantization method))rg   zXCB (X protocol)r>   rd   zlibjpeg-turbo )r   r>   r   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S )N)Úint)r3   Úxs     r%   ú	<genexpr>zpilinfo.<locals>.<genexpr>6  s(   è è € Ð*HÐ*H°a­3¨q©6¬6Ð*HÐ*HÐ*HÐ*HÐ*HÐ*Hr-   ú.)r{   é   zcompiled forÚloadedr<   re   z, compiled for zlib-ng ra   )rb   rc   z, ú z---zsupport ok,z
support okz***zsupport not installedzExtensions: {}ÚopenÚsaveÚsave_allÚdecodeÚencodezFeatures: {})&ÚsysÚstdoutr   ÚinitÚprintrl   Ú__version__rL   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__rD   r~   rr   ÚtuplerK   ÚcollectionsÚdefaultdictÚlistÚ	EXTENSIONrt   ru   ÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)r„   r†   Úpy_version_linesÚ
py_versionÚnamer   ÚvrX   Úversion_staticÚtrZ   r4   Úv2Ú
extensionsÚextÚiÚlinerh   s                     r%   ÚpilinforÆ   ó   sa  € ð €{ÝŒjˆå	„J�L„L€Lå	ˆ(˜ÐÑÔÐÝ	Ð
%•C”OÐ
%Ð
%¨CÐ0Ñ0Ô0Ð0Ý”{×-Ò-Ñ/Ô/ÐÝ	Ð
1Ð$ QÔ'×-Ò-Ñ/Ô/Ð
1Ð
1¸Ð<Ñ<Ô<Ð<Ø& q r rÔ*ð 8ð 8ˆ
ÝÐ,˜
×(Ò(Ñ*Ô*Ð,Ð,°3Ð7Ñ7Ô7Ð7Ð7Ý	ˆ(˜ÐÑÔÐÝ	Ð
?¥#¤.Ð"=°IÐ
?Ð
?ÀcÐJÑJÔJÐJÝ
„z•S”_Ò$Ð$ÝÐBµc´jÐBÐBÈÐMÑMÔMÐMÝ	Ð
>­S¬_Ð
>Ð
>ÀSÐIÑIÔIÐIÝ	ˆ(˜ÐÑÔÐÝ	ØN­R¬W¯_ª_½U¼^Ñ-LÔ-LÐNÐNØðñ ô ð õ 
ØS­R¬W¯_ª_½U¼ZÔ=PÑ-QÔ-QÐSÐSØðñ ô ð õ 
ˆ(˜ÐÑÔÐðð )Eñ )E‰ˆˆgõ �‰;Œ;ð 	EØ ˆAØ�uŠ}ˆ}Ý(7¸Ñ(HÔ(HÐ%Ø(Ð4Ø(Ð+@Ñ@�AØˆyÝ˜D‘M”M�Øˆ}Ø!%¨Ð!7�Ø˜<Ò'Ð'å%*Ð*HÐ*H¸1¿7º7À3¹<¼<Ð*HÑ*HÔ*HÑ%HÔ%HÈ6Ò%Q�NØ&4ÐB�N�N¸(�Ø˜6’>�>Ý&5°iÑ&@Ô&@�OØ&Ð2ØÐ6¸ÑHÑH˜øØ˜V’^�^Ø4ð /ð /˜Ý,¨QÑ/Ô/˜Ø˜>Ø  a  ¨"  Ñ.˜AøÝ�e˜W m°Q¸ÀÐDÑDÔDÐDÐDå�e˜W l¸Ð=Ñ=Ô=Ð=Ð=å�%˜Ð"9ÀÐDÑDÔDÐDÑDÝ	ˆ(˜ÐÑÔÐàñ &Ý Ô,­TÑ2Ô2ˆ
Ý”o×+Ò+Ñ-Ô-ð 	&ð 	&‰FˆC�Ø�qŒM× Ò  Ñ%Ô%Ð%Ð%å�œÑ!Ô!ð 	&ñ 	&ˆAØ�6ˆDØ•E”JˆˆØÐ0Ð0¥¤¨A¤Ð0Ð0�Ý�$˜SÐ!Ñ!Ô!Ð!à�JˆˆÝØ$×+Ò+¨D¯IªIµf¸ZÈ¼]Ñ6KÔ6KÑ,LÔ,LÑMÔMÐTWðñ ô ð ð ˆHØ•E”JˆˆØ—’ Ñ'Ô'Ð'Ø•E”JˆˆØ—’ Ñ'Ô'Ð'Ø•E”NÐ"Ð"Ø—’ 
Ñ+Ô+Ð+Ø•E”NÐ"Ð"Ø—’ Ñ)Ô)Ð)Ø•E”NÐ"Ð"Ø—’ Ñ)Ô)Ð)å�.×'Ò'¨¯	ª	°(Ñ(;Ô(;Ñ<Ô<À3ÐGÑGÔGÐGÝ�( Ð%Ñ%Ô%Ð%Ñ%ð;&ð &ð
	&ð 	&r-   )r   r   r   r   )r   r   r   r'   )r   r.   )r   r   r   ri   )NT)r„   r…   r†   r   r   r‡   )Ú
__future__r   r­   r¨   rž   r   Útypingr   rl   Ú r   Ú
_deprecater   r   r&   r,   r6   rB   rG   rM   rP   rh   Ú__annotations__rp   rr   ry   r~   rL   rƒ   rÆ   r1   r-   r%   ú<module>rÌ      s  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à 
€
€
€
à Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð .Ø4Ø8Ø:Ø0ðð €ðð ð ð ð0<ð <ð <ð <ð3ð 3ð 3ð 3ð Ø%ØØ%ð	
ð 
€ð1ð 1ð 1ð 1ð"ð ð ð ð*1ð 1ð 1ð 1ð +Ø)Ø,Ø;ØDØGØSØAØQØ-ð;ð ;€ð ð ð ñ ðð ð ð ð8<ð <ð <ð <ð"ð ð ð ð"ð ð ð ð$ð ð ð ð ð ð ð ðr&ð r&ð r&ð r&ð r&ð r&ð r&r-   