o
    ÒèFhÛ#  ã                   @  sŽ   d dl mZ ddlmZmZ ddlmZ ddlmZ dZ	dd„ Z
e
ƒ Zd	d
ddœZddd dœZdd„ Ze de¡ e dd¡ e dd¡ dS )é    )Úannotationsé   )ÚImageÚ	ImageFile)Úo8)Úo16be(   )éÿ   r   r   )r   éÌ   r   )r   é™   r   )r   éf   r   )r   é3   r   )r   r   r   )r   r   r	   )r   r	   r	   )r   r
   r	   )r   r   r	   )r   r   r	   )r   r   r	   )r   r   r
   )r   r	   r
   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r	   r   r   )r	   r	   r   )r	   r
   r   )r	   r   r   )r	   r   r   )r	   r   r   )r	   r   r	   )r	   r	   r	   )r	   r
   r	   )r	   r   r	   )r	   r   r	   )r	   r   r	   )r	   r   r
   )r	   r	   r
   )r	   r
   r
   )r	   r   r
   )r	   r   r
   )r	   r   r
   )r
   r   r   )r
   r	   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r	   )r
   r	   r	   )r
   r
   r	   )r
   r   r	   )r
   r   r	   )r
   r   r	   )r
   r   r
   )r
   r	   r
   )r
   r
   r
   )r
   r   r
   )r
   r   r
   )r
   r   r
   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r	   )r   r	   r	   )r   r
   r	   )r   r   r	   )r   r   r	   )r   r   r	   )r   r   r
   )r   r	   r
   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r	   )r   r	   r	   )r   r
   r	   )r   r   r	   )r   r   r	   )r   r   r	   )r   r   r
   )r   r	   r
   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r	   )r   r	   r	   )r   r
   r	   )r   r   r	   )r   r   r	   )r   r   r	   )r   r   r
   )r   r	   r
   )r   r
   r
   )r   r   r
   )r   r   r
   )r   r   r
   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r	   r   r   )r	   r	   r   )r	   r
   r   )r	   r   r   )r	   r   r   )r	   r   r   )r	   r   r   )r	   r	   r   )r	   r
   r   )r	   r   r   )r	   r   r   )r	   r   r   )r	   r   r   )r	   r	   r   )r	   r
   r   )r	   r   r   )r	   r   r   )r	   r   r   )r
   r   r   )r
   r	   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r	   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r   r   )r
   r	   r   )r
   r
   r   )r
   r   r   )r
   r   r   )r
   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r	   r   )r   r
   r   )r   r   r   )r   r   r   )é   r   r   )é"   r   r   )éD   r   r   )éU   r   r   )éw   r   r   )éˆ   r   r   )éª   r   r   )é»   r   r   )éÝ   r   r   )éî   r   r   )éÀ   r   r   )é€   r   r   )r   r   r   )r   r   r   )r   r   r   ©r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c                  C  sb   t  ddttƒf¡} |  ttttƒƒƒ¡ d}tD ]}||7 }q|ddttƒ  7 }|  |¡ | S )NÚLr   © r   é   )r   ÚnewÚlenÚ_Palm8BitColormapValuesÚputdataÚlistÚrangeÚ
putpalette)ÚimageÚpalettedataÚcolormapValuer   r   úL/var/www/html/loop/nvenv/lib/python3.10/site-packages/PIL/PalmImagePlugin.pyÚbuild_prototype_imageU   s   

r(   i @  i €  i    )úcustom-colormapzis-compressedzhas-transparentr   )ÚnoneÚrleÚscanlinec              
   C  s&  | j dkrd}d}d}nl| j dkra| j d¡dv r/| jd }|  d| d|> d fdd„¡} n&| j d¡dv rJ| jd }|  d|> d fd	d„¡} nd
| j › d�}t|ƒ‚d| _ dt|ƒ }d}n| j dkrmd}d}d}nd
| j › d�}t|ƒ‚|  ¡  | jd }| jd }t	|d| d  d|  ƒd }	d}
t
d }d}| j dkr»d| jv r»|td @ }d}| jj }|  ¡  ¡ }nd}d| jv rÏ|	| d d | d }nd}| t|ƒt|ƒ t|	ƒ t|ƒ ¡ | t|ƒ¡ | t|ƒ¡ | t|ƒ¡ | t|
ƒ¡ | t|ƒ¡ | tdƒ¡ |dk�rs| tdƒ¡ tdƒD ]T}| t|ƒ¡ |dk�rM| t|d|  ƒt|d| d  ƒ t|d| d  ƒ ¡ �q|dk�rq| t|d|  ƒt|d| d  ƒ t|d| d  ƒ ¡ �qt | |dd| j d||	dffg¡ t|dƒ�r‘| ¡  d S d S )NÚPé   r   r   Úbpp)r   é   é   c                 S  s   || |?  S ©Nr   )ÚxÚshiftÚmaxvalr   r   r'   Ú<lambda>ƒ   ó    z_save.<locals>.<lambda>c                 S  s   || |@  S r2   r   )r3   r5   r   r   r'   r6   Š   r7   zcannot write mode z as PalmzP;Ú1z1;Ir   é   r0   r*   r)   i  Úoffseté   r1   r   ÚRGBÚRGBAÚraw)r   r   Úflush)ÚmodeÚencoderinfoÚgetÚpointÚinfoÚOSErrorÚstrÚloadÚsizeÚintÚ_COMPRESSION_TYPESÚ_FLAGSÚpaletteÚgetdataÚ
getpaletteÚwriteÚo16br   r"   r   Ú_saveÚhasattrr?   )ÚimÚfpÚfilenameÚrawmoder/   ÚversionÚmsgÚcolsÚrowsÚrowbytesÚtransparent_indexÚcompression_typeÚflagsÚcolormapsizeÚcolormapmodeÚcolormapr:   Úir   r   r'   rQ   s   s�   


ÿ



 
&

ÿþÿ
ÿþÿ€$ÿrQ   ÚPalmz.palmz
image/palmN)Ú
__future__r   Ú r   r   Ú_binaryr   r   rP   r   r(   ÚPalm8BitColormapImagerK   rJ   rQ   Úregister_saveÚregister_extensionÚregister_mimer   r   r   r'   Ú<module>   s   E
k