U
    Å½„bë
  ã                   @   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-_wxctax1/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   sN  t | j d¡ƒ}|dk r tdƒ‚t | j d¡ƒ}|dkrFtd|› �ƒ‚t | j d¡ƒ}t | j d¡ƒ}t | j d¡ƒ}|dks†|dkrŽtdƒ‚|dkr¤td|› �ƒ‚|d	kr¶|d }n:|d
 }| j d¡}|dkrÚtdƒ‚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ÚversionÚwidthÚheightZcolor_depthZcomment_lengthZmagic_numberr   r   r   r   Ú_open,   s8    



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'   V   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
   :