
    (ph                       S SK Jr  S SKrS SKJr  SSKJrJrJr  SSK	J
r  SSK	Jr  SSK	Jr  S	S
SSSSSS.r " S S\R                  5      rSSSSSSS.rSS jr\R&                  " \R(                  \5        \R*                  " \R(                  \5        \R,                  " \R(                  / SQ5        \R.                  " \R(                  S5        g)    )annotationsN)IO   )Image	ImageFileImagePalette)i16le)o8)o16leP1LLABGRA;15ZBGRBGRA))r      )   r   )r   r   )r      )   r   )r      )r       c                  0    \ rS rSrSrSrSS jrSS jrSrg)	TgaImageFile1   TGATargac                   U R                   c   eU R                   R                  S5      nUS   nUS   nUS   nUS   nUS   n[        US5      [        US5      4U l        US	;  d,  U R                  S   S::  d  U R                  S   S::  d  US
;  a  Sn[        U5      eUS;   a#  SU l        US:X  a  SU l        OHUS:X  a  SU l        O:US;   a  U(       a  SOSU l        O#US;   a  US:X  a  SOSU l        OSn[        U5      eUS-  nUS;   U l        US;   a  SnOUS;   a  SnOSn[        U5      eXR                  S'   US-  (       a  SU R                  S '   U(       a(  U R                   R                  U5      U R                  S!'   U(       Ga$  [        US"5      [        US#5      US$   pn	US:X  aY  [        R                  " S%[        SU	-  5      U R                   R                  SU
-  5      -   5      U l        SU R                  l        OUS:X  aH  [        R                  " S&[        S"U	-  5      U R                   R                  S"U
-  5      -   5      U l        O[US':X  aH  [        R                  " S([        S)U	-  5      U R                   R                  S)U
-  5      -   5      U l        OS*n[        U5      e [        US$-  U4   nUS-  (       a4  SS+U R                  -   U R                   R                  5       XU44/U l        g S,S+U R                  -   U R                   R                  5       USU44/U l        g ! ["         a     g f = f)-N   r   r   r   r            )r   r   )r   r   r   r   r   znot a TGA file)r      r   r   r   )r   	   r   )r   
   r   RGBRGBAzunknown TGA mode0   )r   r(   )r   r(   )r   r   zunknown TGA orientationorientationr   tga_rlecompression
id_sectionr         r   r   r   r      zunknown TGA map depthr   r   raw)fpreadi16_sizesizeSyntaxError_mode_flip_horizontallyinfor   r2   bytespalettemodeMODEStelltileKeyError)selfsid_lencolormaptype	imagetypedepthflagsmsgr*   startr7   mapdepthrawmodes                E/var/www/html/venv/lib/python3.13/site-packages/PIL/TgaImagePlugin.py_openTgaImageFile._open5   s)   ww"""GGLL1taD	""BZQ+
 &yy|q yy|q .."Cc"" DJz 
"!
&  ,#DJ'!"'2+6DJ$Cc"" dl"-"=,&KI%K+Cc""#.		- q='0DIIm$&*ggll6&:DIIl#$'1Is1ay!A$E2~+//a%i 0477<<D3I I  %+!R+//5U+dggll1t8.DD  R+//E!e),tww||AH/EE  .!#&&	Y]E23G1} "* u5		 * ![1		  		s   4AL5  4L5 5
MMc                    U R                   (       aH  U R                  c   eU R                  R                  [        R                  R
                  5      U l        g g )N)r:   im	transposer   	TransposeFLIP_LEFT_RIGHT)rC   s    rN   load_endTgaImageFile.load_end   s@    ""77&&&gg''(G(GHDG #    )r:   r9   r6   rR   r=   rA   N)returnNone)	__name__
__module____qualname____firstlineno__formatformat_descriptionrO   rV   __static_attributes__ rX   rN   r   r   1   s    F hTIrX   r   )r   r   r   r   )r   r   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           
     
    [         U R                     u  p4pVSU R                  ;   a  U R                  S   n	O:U R                  R                  SU R                  R                  S5      5      n
U
S:H  n	U	(       a  US-  nU R                  R                  SU R                  R                  SS5      5      n[        U5      nUS	:  a  S	nUS S	 n[        R                  " S
5        U(       a;  U R                  c   eU R                  R                  SS5      n[        U5      S-  SpOSu  pU R                  S;   a  SnOSnU R                  R                  SU R                  R                  SS5      5      nUS:  a  US-  nUR                  [        U5      [        U5      -   [        U5      -   [        S5      -   [        U5      -   [        U5      -   [        S5      -   [        S5      -   [        U R                  S   5      -   [        U R                  S   5      -   [        U5      -   [        U5      -   5        U(       a  UR                  U5        U(       a  UR                  W5        U	(       a,  [         R"                  " XSSU R                  -   SUU44/5        O,[         R"                  " XSSU R                  -   SUSU44/5        UR                  S5        g ! [         a!  nSU R                   S3n[        U5      UeS nAff = f)Nzcannot write mode z as TGArler,   r+   r   r-       z-id_section has been trimmed to 255 charactersr&   r   r   r   r1   )r   r'   r   r*   r)   r   r   r2   s           TRUEVISION-XFILE. )SAVEr>   rB   OSErrorencoderinfogetr;   lenwarningswarnrR   
getpalettewriter
   o16r7   r   _save)rR   r3   filenamerM   bitsrF   rG   erJ   rd   r,   r-   rE   r=   colormaplengthcolormapentryrI   r*   s                     rN   rq   rq      s   "15bgg.|
 nnU#nn((M8RSY&
Q	##L"''++lB2OPJ_F|%
EFuu   %%""5%0(+G(92(,%	ww. ..$$]BGGKKr4RSKQHH
6

\
	
Y-	 a&	 n
		
 ]
	 a&	 a&	 bggaj/	 bggaj/		 T(
	 U)	 


i"''!11w6LMN	
 	eVbgg-q7A{2KLM	

 HH9:E  ""277)73cl!"s   K 
L!K==L)z.tgaz.icbz.vdaz.vstzimage/x-tga)rR   zImage.Imager3   z	IO[bytes]rr   zstr | bytesrY   rZ   )
__future__r   rl   typingr   re   r   r   r   _binaryr	   r5   r
   r   rp   r?   r   rg   rq   register_openr_   register_saveregister_extensionsregister_mimerb   rX   rN   <module>r~      s   $ #   , , !  ! 		 qI9&& qIt 
	
	E;Z   L'' 6   L'' /   ,--/O P   L'' 7rX   