
    fh0                       S SK Jr  S SKrSSKJrJrJr  SSKJr  \R                  " S5      r
SS jr " S S	\R
                  5      r " S
 S\R                  5      r\R                  " \R                   \\5        \R"                  " S\5        \R$                  " \R                   S5        \R&                  " \R                   S5        g)    )annotationsN   )Image	ImageFileImagePalette)o8s$   "([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)c                $    U R                  S5      $ )Ns	   /* XPM */)
startswith)prefixs    J/var/www/auris/envauris/lib/python3.13/site-packages/PIL/XpmImagePlugin.py_acceptr      s    \**    c                  0    \ rS rSrSrSrSS jrS	S jrSrg)
XpmImageFile#   XPMzX11 Pixel Mapc                   U R                   c   e[        U R                   R                  S5      5      (       d  Sn[        U5      e U R                   R	                  5       nU(       d  Sn[        U5      e[
        R                  U5      nU(       a  OMM  [        UR                  S5      5      [        UR                  S5      5      4U l	        [        UR                  S5      5      n[        UR                  S5      5      n0 n[        U5       H  nU R                   R	                  5       R                  5       nUSUS-    nX%S-   S R                  5       n	[        S	[        U	5      S5       H  n
X   S
:X  d  M  XS-      nUS:X  a  XR                  S'   OgUR                  S5      (       aD  [        USS  S5      n[!        US-	  S-  5      [!        US-	  S-  5      -   [!        US-  5      -   Xh'   OSn[#        U5      e  M     Sn[#        U5      e   US:  a  SU l        XV4nO[SU l        [&        R(                  " SSR+                  UR-                  5       5      5      U l        U[1        UR3                  5       5      4n[4        R6                  " SSU R8                  -   U R                   R;                  5       U5      /U l        g )N	   znot an XPM filezbroken XPM filer            r      cs   Nonetransparency   #         zcannot read this XPM file   RGBPr   xpm)r   r   )fpr   readSyntaxErrorreadlinexpm_headmatchintgroup_sizerangerstripsplitleninfor
   r   
ValueError_moder   rawjoinvaluespalettetuplekeysr   _Tilesizetelltile)selfmsglinempalette_lengthbppr6   _csirgbrgb_intargss                 r   _openXpmImageFile._open'   sd   ww"""tww||A''#Cc"" 77##%D'!#&&t$A  _c!''!*o5
QWWQZ!''!*o
 ~&A77##%,,.DQq!A1Wr"((*A1c!fa(44<E(Cg~45		.1--"%c!"gr"2245 'Q,#!567 3/0  
 :(o-# )* 2 o%9 '> CDJ>DDJ'++E388GNN<L3MNDLw||~./D__UFTYY,>PTUV	r   c                    U R                   u  p#U R                  c   e[        U5       Vs/ s H1  o@R                  R                  5       SUS-    R	                  U5      PM3     nnSR                  U5      $ s  snf )Nr   r   )r:   r#   r,   r&   ljustr4   )r=   
read_bytesxsizeysizerF   rE   s         r   	load_readXpmImageFile.load_readj   sl     yyww"""EJ5\R\WWEAI.44U;\Rxx{ Ss   8A6)r2   r+   r6   r<   N)returnNone)rN   r)   rS   bytes)	__name__
__module____qualname____firstlineno__formatformat_descriptionrJ   rQ   __static_attributes__ r   r   r   r   #   s    F(AWF	r   r   c                  "    \ rS rSrSrSS jrSrg)
XpmDecoderv   Tc                   U R                   c   e[        5       nU R                  u  p4U R                  R                  U R                  R
                  -  nU R                  S:X  a  US-  nSn[        U5      U:  a  U R                   R                  5       nU(       d  OUR                  5       S:X  a  U(       d  SnMP  SR                  UR                  S5      SS 5      n[        S	[        U5      U5       H?  nXxX-    n	U R                  S:X  a	  X$U	   -  nM"  U[        UR                  U	5      5      -  nMA     [        U5      U:  a  M  U R                  [!        U5      5        g
)Nr    r   Fs   /* pixels */T   "r   r   )rc   r   )fd	bytearrayrI   staterO   rP   moder/   r&   r-   r4   r.   r,   r   index
set_as_rawrU   )
r=   bufferdatarB   r6   dest_lengthpixel_headerr?   rF   keys
             r   decodeXpmDecoder.decodey   s-   ww"""{yyjj&&)9)99991K$i+%77##%D{{}/#99TZZ-a34D1c$i-qw'99%CL(DBw}}S122D . $i+% 	d$r   r]   N)rj   z$bytes | Image.SupportsArrayInterfacerS   ztuple[int, int])rV   rW   rX   rY   	_pulls_fdro   r\   r]   r   r   r_   r_   v   s    Ir   r_   r"   z.xpmz	image/xpm)r   rU   rS   bool)
__future__r   re r   r   r   _binaryr   compiler'   r   r   	PyDecoderr_   register_openrZ   register_decoderregister_extensionregister_mimer]   r   r   <module>r}      s     # 	 , ,  ::=>+P9&& Pf$$ D   L''w ?   uj )   ,,f 5   L'' 5r   