U
    %d]                     @   sX   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 )	   )Image	ImageFile)i32bec                 C   s(   t | dko&t| ddko&t| ddkS )N             r      )leni32)prefix r   6/tmp/pip-unpacked-wheel-vp0hp2u_/PIL/GbrImagePlugin.py_accept   s    r   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )GbrImageFileZGBRzGIMP brush filec           
      C   sb  t | jd}|dk r$d}t|t | jd}|dkrNd| }t|t | jd}t | jd}t | jd}|dks|dkrd}t||dkrd| }t||d	kr|d }n>|d
 }| jd}|dkrd}t|t | jd| jd< | j|d d }	|d	kr*d| _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LZRGBAcomment)r   fpreadSyntaxErrorinfomode_sizer   Z_decompression_bomb_checksize
_data_size)
selfheader_sizemsgversionwidthheightZcolor_depthZcomment_lengthZmagic_numberr   r   r   r   _open,   sB    





zGbrImageFile._openc                 C   s:   | j s.tj| j| j| _ | | j| j	 tj
| S )N)Zimr   corenewr   r   Z	frombytesr   r   r   load)r   r   r   r   r(   [   s    zGbrImageFile.loadN)__name__
__module____qualname__formatformat_descriptionr%   r(   r   r   r   r   r   '   s   /r   z.gbrN) r   r   _binaryr   r   r   r   Zregister_openr,   Zregister_extensionr   r   r   r   <module>   s
   ?