o
    üÞh¾  ã                   @  sf   d dl mZ ddlmZmZ ddlmZ dd	d
„ZG dd„ dejƒZ	e 
e	je	e¡ e e	jd¡ dS )é    )Úannotationsé   )ÚImageÚ	ImageFile)Úi32beÚprefixÚbytesÚreturnÚboolc                 C  s(   t | ƒdkot| dƒdkot| dƒdv S )Né   r   é   é   ©r   é   )ÚlenÚi32)r   © r   úR/var/www/html/premium_crap/venv/lib/python3.10/site-packages/PIL/GbrImagePlugin.pyÚ_accept    s   (r   c                   @  s(   e Zd ZdZdZddd„Zddd	„Zd
S )ÚGbrImageFileÚGBRzGIMP brush filer	   ÚNonec           
      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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éÿÿÿÿÚ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._openúImage.core.PixelAccess | Nonec                 C  s>   | j d u rtj | j| j¡| _|  | j 	| j
¡¡ tj | ¡S )N)Ú_imr   ÚcoreÚnewÚmoder%   ÚimÚ	frombytesr   r   r&   Úload)r'   r   r   r   r8   [   s   
zGbrImageFile.loadN)r	   r   )r	   r1   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionr0   r8   r   r   r   r   r   (   s
    
/r   z.gbrN)r   r   r	   r
   )Ú
__future__r   Ú r   r   Ú_binaryr   r   r   r   Úregister_openr<   Úregister_extensionr   r   r   r   Ú<module>   s   
>