o
    e                     @  sd   d dl mZ ddlmZmZ ddlmZ dd ZG dd dejZ	e
e	je	e ee	jd	 d
S )    )annotations   )Image	ImageFile)i32bec                 C  s(   t | dkot| ddkot| ddv S )N   r         r      )leni32)prefix r   E/var/www/html/venv/lib/python3.10/site-packages/PIL/GbrImagePlugin.py_accept    s   (r   c                   @  s$   e Zd ZdZdZdd Zdd ZdS )GbrImageFileGBRzGIMP brush filec           
      C  s`  t | jd}|dk rd}t|t | jd}|dvr'd| }t|t | jd}t | jd}t | jd}|dksG|dkrMd}t||dvrZd| }t||d	krc|d }n|d
 }| jd}|dkrwd}t|t | jd| jd< | j|d d }	|d	krd| _nd| _||f| _|	| jd< t| j	 || | | _
d S )Nr	   r   znot a GIMP brushr
   z Unsupported GIMP brush version: r   )r   r	   z$Unsupported GIMP brush color depth: r      s   GIMPz"not a GIMP brush, bad magic numberspacingLRGBAcomment)r   fpreadSyntaxErrorinfo_mode_sizer   _decompression_bomb_checksize
_data_size)
selfheader_sizemsgversionwidthheightcolor_depthcomment_lengthmagic_numberr   r   r   r   _open,   sB   




zGbrImageFile._openc                 C  s:   | j stj| j| j| _ | | j| j	 tj
| S )N)imr   corenewmoder!   	frombytesr   r   r"   load)r#   r   r   r   r2   [   s   zGbrImageFile.loadN)__name__
__module____qualname__formatformat_descriptionr,   r2   r   r   r   r   r   (   s
    /r   z.gbrN)
__future__r    r   r   _binaryr   r   r   r   register_openr6   register_extensionr   r   r   r   <module>   s   >