
     f                       d dl mZ d dlZddlmZmZmZ ddlmZ  ej	        d          Z
ddZ G d dej                  Z ej        ej        ee            ej        ej        d            ej        ej        d           dS )    )annotationsN   )Image	ImageFileImagePalette)o8s$   "([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)prefixbytesreturnboolc                    | d d         dk    S )N	   s	   /* XPM */ )r	   s    U/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/PIL/XpmImagePlugin.py_acceptr      s    "1":%%    c                  &    e Zd ZdZdZddZdd	Zd
S )XpmImageFileXPMzX11 Pixel Mapr   Nonec                   t          | j                            d                    sd}t          |          	 | j                                        }|sd}t          |          t
                              |          }|rnJt          |                    d                    t          |                    d                    f| _	        t          |                    d                    }t          |                    d                    }|d	k    s|dk    rd
}t          |          dgd	z  }t          |          D ]D}| j                                        }|dd          dk    r|d d         }n|dd          dv r
|d d         }|d         }|dd                                         }t          dt          |          d          D ]}	||	         dk    r||	dz            }
|
dk    r|| j        d<   ny|
d d         dk    rZt          |
dd          d          }
t          |
dz	  dz            t          |
dz	  dz            z   t          |
dz            z   ||<   nd
}t          |           nd
}t          |          Fd| _        t#          j        dd                    |                    | _        dd| j        z   | j                                        dfg| _        d S )Nr   znot an XPM fileTzbroken XPM filer               zcannot read this XPM files      s   
r      cs   Nonetransparency   #         PRGBr   raw)r   r   )r$   r   r   )r   fpreadSyntaxErrorreadlinexpm_headmatchintgroup_size
ValueErrorrangesplitleninfor   _moder   r&   joinpalettesizetelltile)selfmsgsmpalbppr7   _cirgbs              r   _openzXpmImageFile._open'   s   tw||A'' 	##Cc"""	  ""A ''!#&&&q!!A 	 __c!''!**oo5
!''!**oo!''!**oo99q-CS//!
 +#s 	& 	&A  ""Av  crcF2337""crcF!A!B$A1c!ffa(( & &Q44<<AE(Cg~~45	.11RaRD!#abb'2..r	S011BqC7G4H4HH2cTWi==X  


 :(oo-E  & 2 oo%  
#'sxx/@/@AAVdi/MN			r   
read_bytesr-   r
   c                |      j         \  } fdt          |          D             }d                    |          S )Nc                ~    g | ]9}j                                         d d z                                          :S )r   )r'   r*   ljust).0rC   r;   xsizes     r   
<listcomp>z*XpmImageFile.load_read.<locals>.<listcomp>p   sB    RRRTWEAI.44U;;RRRr   r   )r8   r1   r6   )r;   rF   ysizer=   rK   s   `   @r   	load_readzXpmImageFile.load_readj   sC     yuRRRRRU5\\RRRxx{{r   N)r   r   )rF   r-   r   r
   )__name__
__module____qualname__formatformat_descriptionrE   rN   r   r   r   r   r   #   sP        F(AO AO AO AOF     r   r   z.xpmz	image/xpm)r	   r
   r   r   )
__future__r   re r   r   r   _binaryr   compiler+   r   r   register_openrR   register_extensionregister_mimer   r   r   <module>r\      s    # " " " " " 				 , , , , , , , , , ,       2:=>>& & & &O O O O O9& O O Ol  L'w ? ? ?  ,f 5 5 5  L' 5 5 5 5 5r   