Ë
    ¦üàgH  ã                  ó~   — d Z ddlmZ ddlmZ ddlmZmZ ddlm	Z
 ddlmZ  G d„ d	ej                  «      Zdd
„ZdZy)a�  
This reader is based on the specification available from:
https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml
and has been tested with a few sample files found using google.

.. note::
    This format cannot be automatically recognized, so the reader
    is not registered for use with :py:func:`PIL.Image.open()`.
    To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead.
é    )Úannotations)ÚIOé   )ÚImageÚ	ImageFile)Úi32le)ÚStrOrBytesPathc                  ó$   — e Zd ZdZdZdd„Zdd„Zy)ÚWalImageFileÚWALzQuake2 Texturec                ó¬  — d| _         | j                  j                  d«      }t        |d«      t        |d«      f| _        t        j                  | j                  «       t        |d«      }| j                  j                  |«       |d d j                  dd«      d   | j                  d	<   |d
d j                  dd«      d   }|r|| j                  d<   y y )NÚPéd   é    é$   é(   ó    r   r   Únameé8   éX   Ú	next_name)Ú_modeÚfpÚreadÚi32Ú_sizer   Ú_decompression_bomb_checkÚsizeÚseekÚsplitÚinfo)ÚselfÚheaderÚoffsetr   s       úN/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/PIL/WalImageFile.pyÚ_openzWalImageFile._open&   sÁ   € ØˆŒ
ð —‘—‘Ð/Ó0ˆÜ˜ “_¤c¨&°"£oÐ5ˆŒ
Ü×'Ñ'¨¯	©	Ô2ô �V˜R“ˆØ�‰�‰�VÔð # 3 B˜K×-Ñ-¨e°QÓ7¸Ñ:ˆ�	‰	�&ÑØ˜2 Ð(×.Ñ.¨u°aÓ8¸Ñ;ˆ	ÙØ%.ˆD�I‰I�kÒ"ð ó    c                ó‚  — | j                   €•t        j                  j                  | j                  | j
                  «      | _        | j                  | j                  j                  | j
                  d   | j
                  d   z  «      «       | j                  t        «       t        j                  j                  | «      S )Nr   r   )Ú_imr   ÚcoreÚnewÚmoder   ÚimÚ	frombytesr   r   Ú
putpaletteÚquake2paletteÚload)r"   s    r%   r1   zWalImageFile.load8   sy   € Ø�8‰8ÐÜ—j‘j—n‘n T§Y¡Y°·	±	Ó:ˆDŒGØ�N‰N˜4Ÿ7™7Ÿ<™<¨¯	©	°!©°t·y±yÀ±|Ñ(CÓDÔEØ�O‰OœMÔ*Ü�{‰{×Ñ Ó%Ð%r'   N)ÚreturnÚNone)r2   zImage.core.PixelAccess | None)Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr&   r1   © r'   r%   r   r   "   s   „ Ø€FØ)Ðó/ô$&r'   r   c                ó   — t        | «      S )a2  
    Load texture from a Quake2 WAL texture file.

    By default, a Quake2 standard palette is attached to the texture.
    To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method.

    :param filename: WAL file name, or an opened file handle.
    :returns: An image instance.
    )r   )Úfilenames    r%   Úopenr<   @   s   € ô ˜Ó!Ð!r'   s   """&&&))),,,///222555777:::<<<$" 


##&""%" #!"  -( )$'"%8.1),%& <07,3(-$("
10.,*'
%!


)#'!& %#! 

&# 

3"5)&7/-95479:379046+14'.1"+/(,%* &%"
 
,!!*)'&$"!


.0)-.'+,&**$()#''!&&$$""
0-,*(&$!



()8&'6%&4$$1""/ !-*'%!
/2)-0&+.$),!'*%(#&!%"

?<9 5#1#-#)?????9??1??*?? ???<?9?5?2?-=*;&9!742/-*'#=???<.*6' 0!)<9772/1,(+&!0" N)r;   zStrOrBytesPath | IO[bytes]r2   r   )Ú__doc__Ú
__future__r   Útypingr   Ú r   r   Ú_binaryr   r   Ú_typingr	   r   r<   r0   r9   r'   r%   ú<module>rC      s=   ðñ	õ #å ç Ý !Ý #ô&�9×&Ñ&ô &ó<
"ð/Hñ r'   