Ë
    Bü´j×,  ã                  ó  — 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dœZd,d„Zd-d„Zd.d„ZdddddœZd,d„Zd-d„Zd.d„Zdddddddddd d!d"œZd#ed$<   d/d%„Zd-d&„Zd.d'„Zd/d(„Zd-d)„Zd.d*„Zd0d1d+„Zy)2é    )Ú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)z	PIL._avifÚlibavif_version)ÚpilÚtkinterÚ	freetype2Ú
littlecms2ÚwebpÚavifc                óà   — | t         vrd| › �}t        |«      ‚t         |    \  }}	 t        |«       y# t        $ r Y yt        $ r(}t        j                  t        |«      «       Y d}~y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ÚwarnÚstr)ÚfeatureÚmsgÚmoduleÚverÚexs        úJ/root/workspace/ytshorts/venv/lib/python3.12/site-packages/PIL/features.pyÚcheck_moduler&      sn   € ð ”gÑØ ˜yÐ)ˆÜ˜‹oÐä˜'Ñ"�K€FˆCðÜ�6ÔØøÜò ÙÜò Ü�‰”c˜"“gÔÜûðús   ¦2 ²	A-½A-ÁA(Á(A-c                ób   — t        | «      sy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+   0   s3   € ô ˜Ô Øä˜'Ñ"�K€FˆCä”:˜f°¨uÔ5°sÓ;Ð;ó    c                 óL   — t         D � cg c]  } t        | «      sŒ| ‘Œ c} S c c} w )z4
    :returns: A list of all supported modules.
    )r   r&   ©Úfs    r%   Úget_supported_modulesr0   ?   s   € ô Ö2�!¤,¨q¥/ŠAÒ2Ð2ùÒ2ó   ‰!š!)ÚjpegÚjpeglib)Újpeg2kÚjp2klib)ÚzipÚzlib)Úlibtiffr8   )ÚjpgÚjpg_2000r7   r8   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_codecrB   N   sI   € ð ”fÑØ˜w˜iÐ(ˆÜ˜‹oÐä˜‘�J€Eˆ3àˆW�HÐ¤¤U§Z¡Z£Ð0Ð0r,   c                óÆ   — t        | «      syt        |    \  }}t        t        j                  |› d�«      }| dk(  r&|j                  d«      d   j                  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Ú_versionr8   ú
r   zVersion r   )rB   r=   r*   r   r?   Úsplit)r    r@   rA   Úversions       r%   Úversion_codecrH   _   sd   € ô �wÔØä˜‘�J€Eˆ3ä”e—j‘j S E¨Ð"2Ó3€Gà�)ÒØ�}‰}˜TÓ" 1Ñ%×+Ñ+¨JÓ7¸Ñ:Ð:à€Nr,   c                 óL   — t         D � cg c]  } t        | «      sŒ| ‘Œ c} S c c} w )z3
    :returns: A list of all supported codecs.
    )r=   rB   r.   s    r%   Úget_supported_codecsrJ   t   s   € ô Ö0�!¤¨Q¥ŠAÒ0Ð0ùÒ0r1   )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_MOZJPEGrR   )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ÚmozjpegÚzlib_ngÚlibimagequantÚxcbz-dict[str, tuple[str, str | bool, str | None]]Úfeaturesc                ób  — | 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 yt        $ r(}t        j                  t        |«      «       Y d}~y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)rd   r   Ú
isinstanceÚboolr   r   r*   r   r   r   r   r   )r    r!   r"   Úflagr#   Úimported_moduler$   s          r%   Úcheck_featurerl   Š   s­   € ð ”hÑØ   	Ð*ˆÜ˜‹oÐä  Ñ)Ñ€FˆD�#ä�$œÔÜ�O G 9¨BÐ/°Ô4ð	Ü$ V°u°gÔ>ˆÜ�dœDÔ!ØˆKÜ�¨Ó-Ð-øÜò ÙÜò Ü�‰”c˜"“gÔÜûðús$   ÁA3 Á'A3 Á3	B.Á>B.ÂB)Â)B.c                ój   — t        | «      syt        |    \  }}}|€y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(   )rl   rd   r*   r   )r    r"   rj   r#   s       r%   Úversion_featurern   ¦   s>   € ô ˜Ô!Øä  Ñ)Ñ€FˆD�#à
€{Øä”:˜f°¨uÔ5°sÓ;Ð;r,   c                 ó  — g } t         j                  «       D ]m  \  }\  }}}|du rCt        j                  «       D ]+  \  }\  }}||k(  sŒt        |«      r| j	                  |«        ŒO ŒQt        |«      sŒ]| j	                  |«       Œo | S )z5
    :returns: A list of all supported features.
    T)rd   Úitemsr   r&   Úappendrl   )Úsupported_featuresr/   r"   rj   Ú_r    Úfeature_modules          r%   Úget_supported_featuresru   ·   s“   € ð ÐÜ (§¡Ó 0ò )ÑˆÑˆF�D˜!Ø�4‰<Ü07·±³ò Ñ,�Ñ,˜.¨!Ø! VÓ+Ü# GÔ,Ø*×1Ñ1°!Ô4Ùñ	ô
 ˜1ÕØ×%Ñ% aÕ(ð)ð Ðr,   c                ó¬   — | t         v rt        | «      S | t        v rt        | «      S | t        v rt        | «      S t        j                  d| › d�d¬«       y)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&   r=   rB   rd   rl   r   r   ©r    s    r%   Úcheckrz   È   sX   € ð ”'ÑÜ˜GÓ$Ð$Ø”&ÑÜ˜7Ó#Ð#Ø”(ÑÜ˜WÓ%Ð%Ü‡M�MÐ% g Y¨bÐ1¸aÕ@Ør,   c                óv   — | t         v rt        | «      S | t        v rt        | «      S | t        v rt        | «      S y)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+   r=   rH   rd   rn   ry   s    r%   rG   rG   Ú   s@   € ð ”'ÑÜ˜gÓ&Ð&Ø”&ÑÜ˜WÓ%Ð%Ø”(ÑÜ˜wÓ'Ð'Ør,   c                 ó~   — t        «       } | j                  t        «       «       | j                  t        «       «       | S )zJ
    :returns: A list of all supported modules, features, and codecs.
    )r0   Úextendru   rJ   )Úrets    r%   Úget_supportedr   ê   s1   € ô
  Ó
!€CØ‡J�JÔ%Ó'Ô(Ø‡J�JÔ#Ó%Ô&Ø€Jr,   c                ój	  — | €t         j                  } t        j                  «        t	        d| ¬«       t	        dt
        j                  › �| ¬«       t         j                  j                  «       }t	        d|d   j                  «       › �| ¬«       |dd D ]   }t	        d|j                  «       › �| ¬«       Œ" t	        d| ¬«       t	        d	t         j                  xs d
› �| ¬«       t         j                  t         j                  k7  rt	        dt         j                  › �| ¬«       t	        dt         j                  › �| ¬«       t	        d| ¬«       t	        dt        j                  j                  t        j                   «      › �| ¬«       t	        dt        j                  j                  t        j"                  j                   «      › �| ¬«       t	        d| ¬«       dD ]î  \  }}t%        |«      rÏd}|dk(  r$t'        d«      }|�t)        d«      rdnd}|d|z   z  }|€t        |«      }|�…|dv }|dk(  r$t+        d„ |j-                  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/        j0                  t2        «      }t        j4                  j7                  «       D ]  \  }}||   j9                  |«       Œ t;        t        j<                  «      D �]a  }|› }|t        j>                  v r|› dt        j>                  |   › �}t	        || ¬«       ||v r7t	        d'jA                  d!jC                  t;        ||   «      «      «      | ¬«       g }|t        jD                  v r|j9                  d(«       |t        jF                  v r|j9                  d)«       |t        jH                  v r|j9                  d*«       |t        jJ                  v r|j9                  d+«       |t        jL                  v r|j9                  d,«       t	        d-jA                  d!jC                  |«      «      | ¬«       t	        d| ¬«       �Œd yy).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   ÚAVIF)r9   ÚJPEG)r:   zOPENJPEG (JPEG2000))r7   zZLIB (PNG/ZIP))r8   ÚLIBTIFF)r\   zRAQM (Bidirectional Text))rb   z#LIBIMAGEQUANT (Quantization method))rc   zXCB (X protocol)r9   r_   r`   zlibjpeg-turboú )r   r9   r   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­w)N)Úint)Ú.0Úxs     r%   ú	<genexpr>zpilinfo.<locals>.<genexpr>:  s   è ø€ Ò*H°a¬3¨q¯6Ñ*Hùs   ‚ú.)rw   é   zcompiled forÚloadedr7   ra   z, compiled for zlib-ng r\   )r]   r^   z, z---zsupport ok,z
support okz***zsupport not installedzExtensions: {}ÚopenÚsaveÚsave_allÚdecodeÚencodezFeatures: {})'ÚsysÚstdoutr   ÚinitÚprintrg   Ú__version__rG   Ú
splitlinesÚstripÚ
executableÚprefixÚbase_prefixÚosÚpathÚdirnameÚ__file__r?   rz   rn   rl   ÚtuplerF   ÚcollectionsÚdefaultdictÚlistÚ	EXTENSIONrp   rq   ÚsortedÚIDÚMIMEÚformatÚjoinÚOPENÚSAVEÚSAVE_ALLÚDECODERSÚENCODERS)ÚoutÚsupported_formatsÚpy_version_linesÚ
py_versionÚnamer    ÚvrR   Úversion_staticÚtrU   r/   Úv2Ú
extensionsÚextÚiÚlinerd   s                     r%   ÚpilinforÂ   õ   s%  € ð €{Ü�j‰jˆä	‡J�J„Lä	ˆ(˜ÕÜ	ˆG”C—O‘OÐ$Ð
%¨CÕ0Ü—{‘{×-Ñ-Ó/ÐÜ	ˆGÐ$ QÑ'×-Ñ-Ó/Ð0Ð
1¸Õ<Ø& q rÐ*ò 8ˆ
Ü�˜
×(Ñ(Ó*Ð+Ð,°3Ö7ð8ä	ˆ(˜ÕÜ	Ð!¤#§.¡.Ò"=°IÐ!>Ð
?ÀcÕJÜ
‡z�z”S—_‘_Ò$ÜÐ5´c·j±j°\ÐBÈÕMÜ	Ð,¬S¯_©_Ð,=Ð
>ÀSÕIÜ	ˆ(˜ÕÜ	Ø
,¬R¯W©W¯_©_¼U¿^¹^Ó-LÐ,MÐNØõô 
Ø
,¬R¯W©W¯_©_¼U¿Z¹Z×=PÑ=PÓ-QÐ,RÐSØõô 
ˆ(˜Õðò +E‰ˆˆgô �Œ;Ø ˆAØ�uŠ}Ü(7¸Ó(HÐ%Ø(Ð4Ü%2°9Ô%=™	À?�AØ˜Ð4Ñ4Ñ4�AØˆyÜ˜D“M�Øˆ}Ø!%¨Ð!7�Ø˜<Ò'ä%*Ñ*H¸1¿7¹7À3»<Ô*HÓ%HÈ6Ñ%Q�NÙ&4‘N¸(�Ø˜6’>Ü&5°iÓ&@�OØ&Ð2ØÐ6¸ÑHÑH™Ø˜V’^Ø4ò /˜Ü,¨QÓ/˜Ø™>Ø 2 a S¨¨"¨ Ñ.™Að/ô �e˜W m°Q¸ÀÖDä�e˜W l¸Ö=ä�%˜Ð"9ÀÖDðW+EôX 
ˆ(˜ÕâÜ ×,Ñ,¬TÓ2ˆ
Ü—o‘o×+Ñ+Ó-ò 	&‰FˆC�Ø�q‰M× Ñ  Õ%ð	&ô œŸ™Ó!ó 	&ˆAØ�SˆDØ”E—J‘J‰Ø˜˜q¤§¡¨A¡ Ð0�Ü�$˜SÕ!à�J‰ÜØ$×+Ñ+¨D¯I©I´f¸ZÈ¹]Ó6KÓ,LÓMÐTWõð ˆHØ”E—J‘J‰Ø—‘ Ô'Ø”E—J‘J‰Ø—‘ Ô'Ø”E—N‘NÑ"Ø—‘ 
Ô+Ø”E—N‘NÑ"Ø—‘ Ô)Ø”E—N‘NÑ"Ø—‘ Ô)ä�.×'Ñ'¨¯	©	°(Ó(;Ó<À3ÕGÜ�( ×%ñ1	&ð r,   )r    r   Úreturnri   )r    r   rÃ   z
str | None)rÃ   z	list[str])r    r   rÃ   zbool | None)NT)rµ   zIO[str] | Noner¶   ri   rÃ   ÚNone)Ú
__future__r   r§   r¢   r˜   r   Útypingr   rg   Ú r   Ú
_deprecater   r   r&   r+   r0   r=   rB   rH   rJ   rd   Ú__annotations__rl   rn   ru   rz   rG   r   rÂ   © r,   r%   ú<module>rË      sÄ   ðÞ "ã Û 	Û 
Û Ý ã 
å Ý !ð .Ø4Ø8Ø:Ø0Ø,ñ€óó0<ó3ð Ø%ØØ%ñ	
€ó1ó"ó*1ð +Ø)Ø,Ø;ØDØGØSØHØAØQØ-ñ;€Ð
7ó óó8<ó"ó"ó$ó õt&r,   