Ë
    ^ãja+  ã                  ó  — d dl mZ dhZd dlmZ ddlmZmZ ddlm	Z
 ddlmZ 	 ddlmZ d	Zd
Zerd dlmZmZ ddddœZdd„Zdd„Z G d„ dej                  «      Zdd„Zdd„Zdd„Z ej6                  ej8                  ee«       eru ej:                  ej8                  e«        ej<                  ej8                  e«        ej>                  ej8                  d«        ej@                  ej8                  d«       yy# e$ r d
ZY ŒÚw xY w)é    )ÚannotationsÚio)ÚBytesIOé   )ÚImageÚ	ImageFile)Úi16le)Úi32le)Ú_webpTF)ÚIOÚAnyÚRGBÚRGBA)ó   VP8 ó   VP8Xó   VP8Lc                ój   — | j                  d«      }| dd dk(  }| dd t        v }|r|r|r	t        s	 yyy)	Ns   RIFFé   é   s   WEBPé   zEimage file could not be identified because WEBP support not installedTF)Ú
startswithÚ_VP8_MODES_BY_IDENTIFIERÚ	SUPPORTED)ÚprefixÚis_riff_file_formatÚis_webp_fileÚis_valid_vp8_modes       úU/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/PIL/WebPImagePlugin.pyÚ_acceptr      sP   € Ø ×+Ñ+¨GÓ4ÐØ˜!˜B�< 7Ñ*€LØ˜r "˜Ô)AÐAÐá™|Ñ0AÝàWðð Øó    c                ón  — | dd }|dk(  r5t        | «      dk\  r&| dd dk(  rt        | d«      dz  t        | d	«      dz  fS y |d
k(  r7t        | «      dk\  r(t        | dd dz   «      dz   t        | dd dz   «      dz   fS y |dk(  r5t        | «      dk\  r'| d   dk(  rt        | d«      }|dz  dz   |dz	  dz  dz   fS y )Nr   r   r   é   é   é   s   �*iÿ?  é   r   é   é   ó    r   r   é   é   é/   é   é   )ÚlenÚi16Úi32)ÚsÚchunkÚbitss      r   Ú	_get_sizer4   +   sñ   € àˆb�ˆH€EØ�ÒÜˆq‹6�RŠ<˜A˜b ˜H¨Ò7Ü�q˜"“: Ñ&¬¨A¨r«
°VÑ(;Ð;Ð;ð ð 
�'Ò	Üˆq‹6�RŠ<Ü�q˜˜B�x %Ñ'Ó(¨1Ñ,¬c°!°B°r°(¸UÑ2BÓ.CÀaÑ.GÐGÐGð
 ð	 
�'Ò	Üˆq‹6�RŠ<˜A˜b™E TšMÜ�q˜"“:ˆDØ˜6‘M QÑ&¨$°"©*¸Ñ)>À!Ñ(CÐCÐCØr    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   c                ó&  — | j                   €J ‚| j                   j                  d«      }t        |«      sd}t        |«      ‚t	        |«      x}rt        j                  |d¬«       || j                   j                  «       z  }t        j                  |«      | _	        | j                  j                  «       \  | _        | j                  d<   }| _        | _        |dz	  dz  |dz	  dz  |dz  |d	z	  dz  f| j                  d
<   | j                  dkD  | _        | j                  dk(  rdn| j                  | _        ddddœj#                  «       D ]2  \  }}| j                  j%                  |«      x}sŒ$|| j                  |<   Œ4 | j'                  d¬«       y )Nr"   znot a WEBP fileT)Ú
error_onlyÚloopr   éÿ   r   r&   Ú
backgroundr   ÚRGBXr   ÚICCPÚEXIFzXMP )Úicc_profileÚexifÚxmpF)Úreset)ÚfpÚreadr   ÚSyntaxErrorr4   r   Ú_decompression_bomb_checkr   ÚWebPAnimDecoderÚ_decoderÚget_infoÚ_sizeÚinfoÚn_framesÚrawmodeÚis_animatedÚ_modeÚitemsÚ	get_chunkÚ_reset)Úselfr1   ÚmsgÚsizeÚbgcolorÚkeyÚ
chunk_nameÚvalues           r   Ú_openzWebPImageFile._openA   s�  € Ø�w‰wÐ"Ð"Ð"Ø�G‰G�L‰L˜ÓˆÜ�qŒzØ#ˆCÜ˜cÓ"Ð"ô ˜Q“<Ðˆ4Ðô ×+Ñ+¨D¸TÕBØ	ˆT�W‰W�\‰\‹^Ñˆô ×-Ñ-¨aÓ0ˆŒð �M‰M×"Ñ"Ó$ñ 	LˆŒ
�D—I‘I˜fÑ% w°´¸t¼|ð ˜‰]˜dÑ"Ø˜‰\˜TÑ!Ø�d‰NØ˜‰]˜dÑ"ð	#
ˆ�	‰	�,Ñð  Ÿ=™=¨1Ñ,ˆÔØ"Ÿl™l¨fÒ4‘U¸$¿,¹,ˆŒ
ð "ØØñ 
÷ ‰%‹'ò		'‰OˆC�ð
 Ÿ™×/Ñ/°
Ó;Ð;ˆuÑ;Ø!&�—	‘	˜#’ð	'ð 	�‰˜%ˆÕ r    c                ó\   — d| j                   vry | j                  «       j                  «       S )NrA   )rL   ÚgetexifÚ_get_merged_dict©rT   s    r   Ú_getexifzWebPImageFile._getexifm   s&   € Ø˜Ÿ™Ñ"ØØ�|‰|‹~×.Ñ.Ó0Ð0r    c                ó¦   — | j                  |«      sy | j                  j                  dd «       | j                  j                  dd «       || _        y )NÚ	timestampÚduration)Ú_seek_checkrL   ÚpopÚ_WebPImageFile__logical_frame©rT   Úframes     r   ÚseekzWebPImageFile.seekr   sA   € Ø×Ñ Ô&ØØ�	‰	�‰�k 4Ô(Ø�	‰	�‰�j $Ô'ð  %ˆÕr    c                óf   — |r| j                   j                  «        d| _        d| _        d| _        y )Nr   éÿÿÿÿ)rI   rC   Ú_WebPImageFile__physical_frameÚ_WebPImageFile__loadedÚ_WebPImageFile__timestamp)rT   rC   s     r   rS   zWebPImageFile._reset{   s,   € ÙØ�M‰M×ÑÔ!Ø !ˆÔØˆŒØˆÕr    c                ó
  — | j                   j                  «       }| xj                  dz  c_        |€.| j                  «        | j	                  d«       d}t        |«      ‚|\  }}|| j                  z
  }|| _        ||z  }|||fS )Nr   r   z(failed to decode next frame in WebP file)rI   Úget_nextrl   rS   ri   ÚEOFErrorrn   )rT   ÚretrU   Údatarb   rc   s         r   Ú	_get_nextzWebPImageFile._get_next‚   s‹   € à�m‰m×$Ñ$Ó&ˆØ×Ò Ñ"Õð ˆ;Ø�K‰KŒMØ�I‰I�aŒLØ<ˆCÜ˜3“-Ðð ‰ˆˆiØ˜t×/Ñ/Ñ/ˆØ$ˆÔð 	�XÑˆ	Ø�Y Ð(Ð(r    c                óÂ   — | j                   |k(  ry || j                   k  r| j                  «        | j                   |k  r!| j                  «        | j                   |k  rŒ y y ©N)rl   rS   rt   rg   s     r   Ú_seekzWebPImageFile._seek—   sR   € Ø× Ñ  EÒ)ØØ�4×(Ñ(Ò(Ø�K‰KŒMØ×#Ñ# eÒ+Ø�N‰NÔð ×#Ñ# eÕ+r    c                óø  •— | j                   | j                  k7  rÓ| j                  | j                  «       | j                  «       \  }| j                  d<   | j                  d<   | j                  | _         | j
                  r&| j                  r| j
                  j                  «        t        |«      | _        t        j                  dddg| j                  ¢­d| j                  «      g| _        t        ‰| �=  «       S )Nrb   rc   Úrawr   )rm   rf   rw   rt   rL   rD   Ú_exclusive_fpÚcloser   r   Ú_TilerV   rN   ÚtileÚsuperÚload)rT   rs   Ú	__class__s     €r   r   zWebPImageFile.loadŸ   s½   ø€ Ø�=‰=˜D×0Ñ0Ò0Ø�J‰J�t×+Ñ+Ô,ð CGÇ.Á.ÓBRÑ?ˆD�$—)‘)˜KÑ(¨$¯)©)°JÑ*?Ø ×0Ñ0ˆDŒMð �wŠw˜4×-Ò-Ø—‘—‘”Ü˜d“mˆDŒGÜ"Ÿ™¨°°AÐ0B¸¿	¹	Ñ0BÀAÀtÇ|Á|ÓTÐUˆDŒIä‰w‰|‹~Ðr    c                 ó   — y rv   © )rT   Úposs     r   Ú	load_seekzWebPImageFile.load_seek¯   s   € Ør    c                ó   — | j                   S rv   )rf   r_   s    r   ÚtellzWebPImageFile.tell²   s   € Ø×#Ñ#Ð#r    )ÚreturnÚNone)r‡   zdict[int, Any] | None)rh   Úintr‡   rˆ   )T)rC   Úboolr‡   rˆ   )r‡   ztuple[bytes, int, int])r‡   zImage.core.PixelAccess | None)rƒ   r‰   r‡   rˆ   )r‡   r‰   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionrm   rf   r[   r`   ri   rS   rt   rw   r   r„   r†   Ú__classcell__)r€   s   @r   r6   r6   ;   sF   ø„ Ø€FØ%ÐØ€HØ€Oó*!óX1ó
%ôó)ó*õó ÷$r    r6   c                ó`   — | j                   dvr| j                  | j                  rdnd«      } | S )N)r=   r   r   r   r   )ÚmodeÚconvertÚhas_transparency_data)Úims    r   Ú_convert_framer–   ¶   s,   € à	‡w�wÐ-Ñ-Ø�Z‰Z "×":Ò":™ÀÓFˆØ€Ir    c           
     óš  — | j                   j                  «       }t        |j                  dg «      «      }d}| g|z   D ]  }|t	        |dd«      z  }Œ |dk(  rt        | ||«       y d}d|v r|d   }n^d| j                  v rP| j                  d   }t        |t        «      r1| j                  «       }|r||dz  |dz   dz   \  }	}
}|	|
|df}n|||df}| j                   j                  d	| j                  j                  d	d«      «      }| j                   j                  d
d«      }| j                   j                  dd«      }| j                   j                  dd «      }| j                   j                  dd «      }| j                   j                  dd«      }d}| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  dd«      }t        |t        j                  «      r|j                  «       }| j                   j                  dd«      }|rd}|€|rdnd}|€|rdnd}t        |t        t        f«      r t        |«      dk7  st        d„ |D «       «      sd|› �}t!        |«      ‚|\  }}}}|d z  |d!z  z  |d"z  z  |dz  z  }t#        j$                  | j&                  |||||||«      }d} d}!| j)                  «       }"	 | g|z   D ]‘  }t	        |dd«      }#t+        |#«      D ]t  }$|j-                  |$«       t/        |«      }%|j1                  |%j3                  «       t5        |!«      ||||«       t        |t        t        f«      r	|!||    z  }!n|!|z  }!| dz  } Œv Œ“ 	 | j-                  |"«       |j1                  d t5        |!«      |||d«       |j7                  |||«      }&|&€d#}t!        |«      ‚|j9                  |&«       y # | j-                  |"«       w xY w)$NÚappend_imagesr   rM   r   )r   r   r   r   r<   é   r;   rc   r:   Úminimize_sizeFÚkminÚkmaxÚallow_mixedÚlosslessÚqualityéP   Úalpha_qualityéd   Úmethodr@   Ú rA   rB   é	   é   é   é   c              3  ó<   K  — | ]  }d |cxk  xr dk  nc –— Œ y­w)r   é   Nr‚   )Ú.0Úvs     r   ú	<genexpr>z_save_all.<locals>.<genexpr>ö   s   è ø€ Ò4 A�1˜–<˜C—<�<Ñ4ùs   ‚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Ú_saverL   Ú
isinstancer‰   Ú
getpaletter   ÚExifÚtobytesÚtupler.   ÚallÚOSErrorr   ÚWebPAnimEncoderrV   r†   Úrangeri   r–   ÚaddÚgetimÚroundÚassembleÚwrite)'r•   rD   Úfilenamer¯   r˜   ÚtotalÚimsr<   ÚpaletteÚrÚgÚbrc   r:   rš   r›   rœ   r�   Úverboserž   rŸ   r¡   r£   r@   rA   rB   rU   Úbg_rÚbg_gÚbg_bÚbg_aÚencÚ	frame_idxrb   Úcur_idxÚnfrÚidxrh   rs   s'                                          r   Ú	_save_allrÔ   ½   s=  € Ø—.‘.×%Ñ%Ó'€KÜ˜Ÿ™¨¸"Ó=Ó>€Mð €EØˆt�mÑ#ò -ˆØ”˜˜j¨!Ó,Ñ,‰ð-à�‚zÜˆb�"�hÔØà(4€JØ�{Ñ"Ø  Ñ.‰
Ø	˜Ÿ™Ñ	 Ø—W‘W˜\Ñ*ˆ
Ü�j¤#Ô&ð —m‘m“oˆGÙØ! *¨q¡.°JÀ±NÀaÑ3GÐH‘��1�aØ  A s˜^‘
à(¨*°jÀ#ÐF�
à�~‰~×!Ñ! *¨b¯g©g¯k©k¸*ÀaÓ.HÓI€HØ�>‰>×Ñ˜f aÓ(€DØ—N‘N×&Ñ& ¸Ó>€MØ�>‰>×Ñ˜f dÓ+€DØ�>‰>×Ñ˜f dÓ+€DØ—.‘.×$Ñ$ ]°EÓ:€KØ€GØ�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ�^‰^×Ñ ¨!Ó,€FØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f bÓ)€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ
�.‰.×
Ñ
˜U BÓ
'€CÙØˆð €|Ù‰q !ˆØ€|Ù‰r 1ˆô �z¤D¬% =Ô1Üˆz‹?˜aÒÜÑ4¨Ô4Ô4àJÈ:È,ÐWˆÜ�c‹lÐð (Ñ€Dˆ$��dØ˜"‘* ¨¡Ñ,°¸±	Ñ:¸dÀa¹iÑH€Jô ×
Ñ
Ø
�‰ØØØØØØØó	€Cð €IØ€IØ�g‰g‹i€GðØ�4˜-Ñ'ò 	ˆCä˜#˜z¨1Ó-ˆCä˜S“zò �Ø—‘˜”ä& sÓ+�ð —‘Ø—K‘K“MÜ˜)Ó$ØØØ!Øôô ˜h¬¬u¨Ô6Ø ¨)Ñ!4Ñ4‘Ià Ñ)�IØ˜Q‘‘	ñ)ñ		ð6 	�‰�Ôð ‡G�GˆD”%˜	Ó" H¨g°}ÀaÔHð �<‰<˜ T¨3Ó/€DØ€|ØAˆÜ�c‹lÐà‡H�HˆT…Nøð 	�‰�Õús   Ì8BP7 Ð7Q
c                ó   — | j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  dd«      }| j                   j                  d«      xs d}| j                   j                  d	d
«      }t        |t        j                  «      r|j                  «       }|j                  d«      r|dd  }| j                   j                  dd«      }| j                   j                  dd«      }	| j                   j                  d«      rdnd}
t        | «      } t        j                  | j                  «       |t        |«      t        |«      ||	|
||«	      }|€d}t        |«      ‚|j                  |«       y )Nrž   FrŸ   r    r¡   r¢   r@   r¤   rA   r    s   Exif  é   rB   r£   r¨   Úexactr   r   r®   )r¯   r²   rµ   r   r·   r¸   r   r–   r   Ú
WebPEncoder¿   Úfloatr»   rÂ   )r•   rD   rÃ   rž   rŸ   r¡   r@   rA   rB   r£   r×   rs   rU   s                r   r´   r´   9  sL  € Ø�~‰~×!Ñ! *¨eÓ4€HØ�n‰n× Ñ  ¨BÓ/€GØ—N‘N×&Ñ& ¸Ó<€MØ—.‘.×$Ñ$ ]Ó3Ò9°r€KØ�>‰>×Ñ˜f cÓ*€DÜ�$œŸ
™
Ô#Ø�|‰|‹~ˆØ‡��Ô'Ø�A�BˆxˆØ
�.‰.×
Ñ
˜U BÓ
'€CØ�^‰^×Ñ ¨!Ó,€FØ—‘×#Ñ# GÔ,‰A°!€Eä	˜Ó	€Bä×ÑØ
�‰‹
ØÜˆg‹ÜˆmÓØØØØØó
€Dð €|ØAˆÜ�c‹lÐà‡H�HˆT…Nr    z.webpz
image/webpN)r   Úbytesr‡   z
bool | str)r1   rÚ   r‡   ztuple[int, int] | None)r•   úImage.Imager‡   rÛ   )r•   rÛ   rD   z	IO[bytes]rÃ   zstr | bytesr‡   rˆ   )!Ú
__future__r   Ú__lazy_modules__r   r   r¤   r   r   Ú_binaryr	   r/   r
   r0   r   r   ÚImportErrorÚTYPE_CHECKINGÚtypingr   r   r   r   r4   r6   r–   rÔ   r´   Úregister_openrŽ   Úregister_saveÚregister_save_allÚregister_extensionÚregister_mimer‚   r    r   ú<module>rç      s  ðÝ "à�6Ð å ç Ý !Ý !ðÝà€Ið €Ùßð ØØñÐ óóô x$�I×'Ñ'ô x$óvóyóxðD €× Ñ �M×(Ñ(¨-¸Ô AÙØ€E×Ñ˜×,Ñ,¨eÔ4Ø€E×Ñ˜M×0Ñ0°)Ô<Ø€E×Ñ˜]×1Ñ1°7Ô;Ø€E×Ñ˜×,Ñ,¨lÕ;ð	 øð[
 ò Ø‚Iðús   ¥C> Ã>DÄD