§
    Å‡tjï&  ã                  ó¬  — d dl mZ d dlmZ ddlmZmZ 	 ddlmZ dZn# e	$ r dZY nw xY wdZ
e
rd dlmZmZ d	d
d
dœZd d„Z G d„ dej        ¦  «        Zd!d„Zd"d„Zd"d„Z ej        ej        ee¦  «         erZ ej        ej        e¦  «          ej        ej        e¦  «          ej        ej        d¦  «          ej        ej        d¦  «         dS dS )#é    )Úannotations)ÚBytesIOé   )ÚImageÚ	ImageFile)Ú_webpTF)ÚIOÚAnyÚRGBÚRGBA)s   VP8 s   VP8Xs   VP8LÚprefixÚbytesÚreturnú
bool | strc                ó’   — |                       d¦  «        }| dd…         dk    }| dd…         t          v }|r|r|rt          s	 dS dS dS )	Ns   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú
startswithÚ_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)r   Úis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      st   € Ø ×+Ò+¨GÑ4Ô4ÐØ˜!˜B˜$”< 7Ò*€LØ˜r "˜uœÕ)AÐAÐàð ˜|ð Ð0Að Ýð 	àWðð ð ˆtØˆ5ó    c                  ór   ‡ — e Zd ZdZdZdZdZdd„Zdd„Zdd„Z	ddd„Z
dd„Zdd„Zdˆ fd„Zdd„Zd d„Zˆ xZS )!ÚWebPImageFileÚWEBPz
WebP imager   r   ÚNonec                ót  — | j         €J ‚| j                              ¦   «         }t          |¦  «        sd}t          |¦  «        ‚t	          j        |¦  «        | _        | j                             ¦   «         \  | _        | j	        d<   }| _
        | _        |dz	  dz  |dz	  dz  |dz  |dz	  dz  f| j	        d<   | j
        dk    | _        | j        d	k    rd
n| j        | _        ddddœ                     ¦   «         D ]+\  }}| j                             |¦  «        x}r
|| j	        |<   Œ,|                      d¬¦  «         d S )Nznot a WEBP fileÚloopr   éÿ   r   é   Ú
backgroundr   ÚRGBXr   ÚICCPÚEXIFzXMP )Úicc_profileÚexifÚxmpF)Úreset)ÚfpÚreadr   ÚSyntaxErrorr   ÚWebPAnimDecoderÚ_decoderÚget_infoÚ_sizeÚinfoÚn_framesÚrawmodeÚis_animatedÚ_modeÚitemsÚ	get_chunkÚ_reset)ÚselfÚsÚmsgÚbgcolorÚkeyÚ
chunk_nameÚvalues          r   Ú_openzWebPImageFile._open-   s`  € ØŒwÐ"Ð"Ð"ØŒG�LŠL‰NŒNˆÝ�q‰zŒzð 	#Ø#ˆCÝ˜cÑ"Ô"Ð"õ Ô-¨aÑ0Ô0ˆŒð ŒM×"Ò"Ñ$Ô$ñ 	LˆŒ
�D”I˜fÑ% w°´¸t¼|ð ˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰NØ˜‰]˜dÑ"ð	#
ˆŒ	�,Ñð  œ=¨1Ò,ˆÔØ"œl¨fÒ4Ð4�U�U¸$¼,ˆŒ
ð "ØØð 
ð  
÷ Š%‰'Œ'ð		'ð 	'‰OˆC�ð
 œ×/Ò/°
Ñ;Ô;Ð;ˆuð 'Ø!&�”	˜#‘øð 	�Š˜%ˆÑ Ô Ð Ð Ð r   údict[int, Any] | Nonec                ód   — d| j         vrd S |                      ¦   «                              ¦   «         S )Nr+   )r5   ÚgetexifÚ_get_merged_dict©r=   s    r   Ú_getexifzWebPImageFile._getexifQ   s.   € Ø˜œÐ"Ð"Ø�4Ø�|Š|‰~Œ~×.Ò.Ñ0Ô0Ð0r   ÚframeÚintc                óB   — |                       |¦  «        sd S || _        d S ©N)Ú_seek_checkÚ_WebPImageFile__logical_frame©r=   rK   s     r   ÚseekzWebPImageFile.seekV   s-   € Ø×Ò Ñ&Ô&ð 	ØˆFð  %ˆÔÐÐr   Tr-   Úboolc                óf   — |r| j                              ¦   «          d| _        d| _        d| _        d S )Nr   éÿÿÿÿ)r2   r-   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)r=   r-   s     r   r<   zWebPImageFile._reset]   s;   € Øð 	"ØŒM×ÒÑ!Ô!Ð!Ø !ˆÔØˆŒØˆÔÐÐr   útuple[bytes, int, int]c                ó  — | j                              ¦   «         }| xj        dz  c_        |€:|                      ¦   «          |                      d¦  «         d}t          |¦  «        ‚|\  }}|| j        z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)r2   Úget_nextrV   r<   rR   ÚEOFErrorrX   )r=   Úretr?   ÚdataÚ	timestampÚdurations         r   Ú	_get_nextzWebPImageFile._get_nextd   s–   € àŒm×$Ò$Ñ&Ô&ˆØÐÔ Ñ"ÐÔð ˆ;Ø�KŠK‰MŒMˆMØ�IŠI�a‰LŒLˆLØ<ˆCÝ˜3‘-”-Ðð ‰ˆˆiØ˜tÔ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r   c                ó¶   — | j         |k    rd S || j         k     r|                      ¦   «          | j         |k     r!|                      ¦   «          | j         |k     °d S d S rN   )rV   r<   ra   rQ   s     r   Ú_seekzWebPImageFile._seeky   sj   € ØÔ  EÒ)Ð)ØˆFØ�4Ô(Ò(Ð(Ø�KŠK‰MŒMˆMØÔ# eÒ+Ð+Ø�NŠNÑÔÐð Ô# eÒ+Ð+Ð+Ð+Ð+Ð+r   úImage.core.PixelAccess | Nonec                óÊ  •— | j         | j        k    r³|                      | j        ¦  «         |                      ¦   «         \  }| j        d<   | j        d<   | j        | _         | j        r | j        r| j                             ¦   «          t          |¦  «        | _        t          j
        dd| j        z   d| j        ¦  «        g| _        t          ¦   «                              ¦   «         S )Nr_   r`   Úraw)r   r   r   )rW   rP   rc   ra   r5   r.   Ú_exclusive_fpÚcloser   r   Ú_TileÚsizer7   ÚtileÚsuperÚload)r=   r^   Ú	__class__s     €r   rm   zWebPImageFile.load�   sÁ   ø€ ØŒ=˜DÔ0Ò0Ð0Ø�JŠJ�tÔ+Ñ,Ô,Ð,ð CGÇ.Â.ÑBRÔBRÑ?ˆD�$”)˜KÑ(¨$¬)°JÑ*?Ø Ô0ˆDŒMð Œwð  ˜4Ô-ð  Ø”—’‘”�Ý˜d‘m”mˆDŒGÝ"œ¨°¸¼Ñ0BÀAÀtÄ|ÑTÔTÐUˆDŒIå‰wŒw�|Š|‰~Œ~Ðr   Úposc                ó   — d S rN   © )r=   ro   s     r   Ú	load_seekzWebPImageFile.load_seek‘   s   € Øˆr   c                ó   — | j         S rN   )rP   rI   s    r   ÚtellzWebPImageFile.tell”   s   € ØÔ#Ð#r   )r   r!   )r   rE   )rK   rL   r   r!   )T)r-   rS   r   r!   )r   rY   )r   rd   )ro   rL   r   r!   )r   rL   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrW   rP   rD   rJ   rR   r<   ra   rc   rm   rr   rt   Ú__classcell__)rn   s   @r   r   r   '   sø   ø€ € € € € Ø€FØ%ÐØ€HØ€Oð"!ð "!ð "!ð "!ðH1ð 1ð 1ð 1ð
%ð %ð %ð %ðð ð ð ð ð)ð )ð )ð )ð*ð ð ð ðð ð ð ð ð ð ð ð ð ð$ð $ð $ð $ð $ð $ð $ð $r   r   ÚimúImage.Imagec                óT   — | j         dvr|                      | j        rdnd¦  «        } | S )N)r'   r   r   r   r   )ÚmodeÚconvertÚhas_transparency_data)r{   s    r   Ú_convert_framer�   ˜   s2   € à	„wÐ-Ð-Ð-Ø�ZŠZ "Ô":ÐE˜˜ÀÑFÔFˆØ€Ir   r.   ú	IO[bytes]Úfilenameústr | bytesr!   c           
     óZ	  — | j                              ¦   «         }t          |                     dg ¦  «        ¦  «        }d}| g|z   D ]}|t	          |dd¦  «        z  }Œ|dk    rt          | ||¦  «         d S d}d|v r	|d         }ned| j        v r\| j        d         }t          |t          ¦  «        r:|  	                    ¦   «         }|r||dz  |dz   dz  …         \  }	}
}|	|
|df}n|||df}| j                              d	| j                             d	d¦  «        ¦  «        }| j                              d
d¦  «        }| j                              dd¦  «        }| j                              dd ¦  «        }| j                              dd ¦  «        }| j                              dd¦  «        }d}| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              dd¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }| j                              dd¦  «        }|rd}|€|rdnd}|€|rdnd}t          |t          t          f¦  «        r,t          |¦  «        dk    st          d„ |D ¦   «         ¦  «        sd|› �}t!          |¦  «        ‚|\  }}}}|d z  |d!z  z  |d"z  z  |dz  z  }t#          j        | j        |||||||¦  «        }d} d}!|                      ¦   «         }"	 | g|z   D ]´}t	          |dd¦  «        }#t+          |#¦  «        D ]‘}$|                     |$¦  «         t/          |¦  «        }%|                     |%                     ¦   «         t5          |!¦  «        ||||¦  «         t          |t          t          f¦  «        r|!||          z  }!n|!|z  }!| dz  } Œ’Œµ	 |                      |"¦  «         n# |                      |"¦  «         w xY w|                     d t5          |!¦  «        |||d¦  «         |                     |||¦  «        }&|&€d#}t!          |¦  «        ‚|                     |&¦  «         d S )$NÚappend_imagesr   r6   r   )r   r   r   r   r&   é   r$   r`   r#   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr*   Ú r+   r,   é	   é   é   é   c              3  ó6   K  — | ]}d |cxk    odk     nc V — ŒdS )r   é   Nrq   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>Ø   s6   è è € Ð4Ð4 A�1˜�<�<’<�<˜C’<�<�<�<Ð4Ð4Ð4Ð4Ð4Ð4r   z:Background color is not an RGBA tuple clamped to (0-255): r%   r   r   ú1cannot write file as WebP (encoder returned None))ÚencoderinfoÚcopyÚlistÚgetÚgetattrÚ_saver5   Ú
isinstancerL   Ú
getpaletter   ÚExifÚtobytesÚtupleÚlenÚallÚOSErrorr   ÚWebPAnimEncoderrj   rt   ÚrangerR   r�   ÚaddÚgetimÚroundÚassembleÚwrite)'r{   r.   rƒ   r�   r†   ÚtotalÚimsr&   ÚpaletteÚrÚgÚbr`   r#   rˆ   r‰   rŠ   r‹   ÚverboserŒ   r�   r�   r‘   r*   r+   r,   r?   Úbg_rÚbg_gÚbg_bÚbg_aÚencÚ	frame_idxr_   Úcur_idxÚnfrÚidxrK   r^   s'                                          r   Ú	_save_allrÂ   Ÿ   s  € Ø”.×%Ò%Ñ'Ô'€KÝ˜Ÿš¨¸"Ñ=Ô=Ñ>Ô>€Mð €EØˆt�mÑ#ð -ð -ˆØ•˜˜j¨!Ñ,Ô,Ñ,ˆˆØ�‚z€zÝˆb�"�hÑÔÐØˆà(4€JØ�{Ð"Ð"Ø  Ô.ˆ
ˆ
Ø	˜œÐ	 Ð	 Ø”W˜\Ô*ˆ
Ý�j¥#Ñ&Ô&ð 	Gð —m’m‘o”oˆGØð GØ! *¨q¡.°JÀ±NÀaÑ3GÐ"GÔH‘��1�aØ  A s˜^�
�
à(¨*°jÀ#ÐF�
àŒ~×!Ò! *¨b¬g¯kªk¸*ÀaÑ.HÔ.HÑIÔI€HØŒ>×Ò˜f aÑ(Ô(€DØ”N×&Ò& ¸Ñ>Ô>€MØŒ>×Ò˜f dÑ+Ô+€DØŒ>×Ò˜f dÑ+Ô+€DØ”.×$Ò$ ]°EÑ:Ô:€KØ€GØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØŒ^×Ò ¨!Ñ,Ô,€FØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f bÑ)Ô)€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØð Øˆð €|ØÐ#ˆqˆq !ˆØ€|ØÐ$ˆrˆr 1ˆõ �z¥D­% =Ñ1Ô1ðåˆz‰?Œ?˜aÒÐÝÐ4Ð4¨Ð4Ñ4Ô4Ñ4Ô4ð  ð XÈ:ÐWÐWˆÝ�c‰lŒlÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jõ Ô
Ø
ŒØØØØØØØñ	ô 	€Cð €IØ€IØ�gŠg‰iŒi€GðØ�4˜-Ñ'ð 	ð 	ˆCå˜#˜z¨1Ñ-Ô-ˆCå˜S‘z”zð ð �Ø—’˜‘”�å& sÑ+Ô+�ð —’Ø—K’K‘M”MÝ˜)Ñ$Ô$ØØØ!Øñô ð õ ˜h­­u¨Ñ6Ô6ð *Ø ¨)Ô!4Ñ4�I�Ià Ñ)�IØ˜Q‘�	�	ð)ð		ð6 	�Š�ÑÔÐÐøˆ�Š�ÑÔÐÐøøøð ‡G‚GˆD•%˜	Ñ"Ô" H¨g°}ÀaÑHÔHÐHð �<Š<˜ T¨3Ñ/Ô/€DØ€|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Ns   ÍB;P+ Ð+Qc                óV  — | j                              dd¦  «        }| j                              dd¦  «        }| j                              dd¦  «        }| j                              d¦  «        pd}| j                              d	d
¦  «        }t          |t          j        ¦  «        r|                     ¦   «         }|                     d¦  «        r
|dd …         }| j                              dd¦  «        }| j                              dd¦  «        }	| j                              d¦  «        rdnd}
t          | ¦  «        } t          j	        |  
                    ¦   «         |t          |¦  «        t          |¦  «        ||	|
||¦	  «	        }|€d}t          |¦  «        ‚|                     |¦  «         d S )NrŒ   Fr�   rŽ   r�   r�   r*   r’   r+   r   s   Exif  é   r,   r‘   r–   Úexactr   r   rœ   )r�   r    r£   r   r¥   r¦   r   r�   r   Ú
WebPEncoder®   Úfloatrª   r±   )r{   r.   rƒ   rŒ   r�   r�   r*   r+   r,   r‘   rÅ   r^   r?   s                r   r¢   r¢     s�  € ØŒ~×!Ò! *¨eÑ4Ô4€HØŒn× Ò  ¨BÑ/Ô/€GØ”N×&Ò& ¸Ñ<Ô<€MØ”.×$Ò$ ]Ñ3Ô3Ð9°r€KØŒ>×Ò˜f cÑ*Ô*€DÝ�$�œ
Ñ#Ô#ð Ø�|Š|‰~Œ~ˆØ‡‚�Ñ'Ô'ð Ø�A�B�BŒxˆØ
Œ.×
Ò
˜U BÑ
'Ô
'€CØŒ^×Ò ¨!Ñ,Ô,€FØ”×#Ò# GÑ,Ô,Ð3ˆAˆA°!€Eå	˜Ñ	Ô	€BåÔØ
�Š‰
Œ
ØÝˆg‰ŒÝˆmÑÔØØØØØñ
ô 
€Dð €|ØAˆÝ�c‰lŒlÐà‡H‚HˆT�N„N€N€N€Nr   z.webpz
image/webpN)r   r   r   r   )r{   r|   r   r|   )r{   r|   r.   r‚   rƒ   r„   r   r!   )Ú
__future__r   Úior   r’   r   r   r   r   ÚImportErrorÚTYPE_CHECKINGÚtypingr	   r
   r   r   r   r�   rÂ   r¢   Úregister_openrx   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimerq   r   r   ú<module>rÒ      sâ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ð Ð ðØÐÐÐÐÐà€I€IøØð ð ð Ø€I€I€Iðøøøð €Øð ØÐÐÐÐÐÐÐð ØØðð Ð ðð ð ð ðn$ð n$ð n$ð n$ð n$�IÔ'ñ n$ô n$ð n$ðbð ð ð ðyð yð yð yðxð ð ð ðD €Ô �MÔ(¨-¸Ñ AÔ AÐ AØð <Ø€EÔ˜Ô,¨eÑ4Ô4Ð4Ø€EÔ˜MÔ0°)Ñ<Ô<Ð<Ø€EÔ˜]Ô1°7Ñ;Ô;Ð;Ø€EÔ˜Ô,¨lÑ;Ô;Ð;Ð;Ð;ð	<ð <s   – Ÿ)¨)