
    (ph                        S SK Jr  S SKrSSKJrJr  SSKJr  SSSS	S
SSS.r	SS jr
 " S S\R
                  5      r\R                  " \R                  \\
5        \R                  " \R                  S5        g)    )annotationsN   )Image	ImageFile)i32le)AL)r	   r	   )RGBALA)RGBzYCC;P)r
   zYCCA;P)r   r   )r
   r
   ))i  )i   )i  i )i   i  i  )i  i i i )i   i  i  )i  i i i c                .    U S S [         R                  :H  $ )N   )olefileMAGIC)prefixs    E/var/www/html/venv/lib/python3.13/site-packages/PIL/FpxImagePlugin.py_acceptr   ,   s    "1:&&    c                  l   ^  \ rS rSrSrSrS rSSS jjrSSS jjrS r	SU 4S jjr
SU 4S	 jjrS
rU =r$ )FpxImageFile4   FPXFlashPixc                    [         R                  " U R                  5      U l        U R                  R                  R                  S:w  a  Sn[        U5      eU R                  S5        g ! [         a  nSn[        U5      UeS nAff = f)Nz!not an FPX file; invalid OLE filez$56616700-C154-11CE-8553-00AA00A1F95Bznot an FPX file; bad root CLSIDr   )	r   	OleFileIOfpoleOSErrorSyntaxErrorrootclsid_open_index)selfemsgs      r   _openFpxImageFile._open8   sx    
	*((1DH
 88=="HH3Cc""  	*5Cc")	*s   %A* *
B4BBc                V  ^	 U R                   R                  SUS 3S/5      nUS   US   4U l        [        U R                  5      nSnUS:  a  US-  nUS-  nUS:  a  M  US-
  U l        U R
                  S	-  nUS
U-     m	[        T	S5      nUS:  a  Sn[        U5      e[        U	4S j[        U5       5       5      n[        U   u  U l        U l        0 U l        [        S5       H#  nSUS	-  -  nXR;   d  M  X%   U R                  U'   M%     U R                  SU R
                  5        g )NData Object Store 06dzImage Contentsi  i  r   @         i     zInvalid number of bandsc              3  N   >#    U  H  n[        TS US-  -   5      S-  v   M     g7f)r   r.   iN)i32).0iss     r   	<genexpr>+FpxImageFile._open_index.<locals>.<genexpr>l   s%     L|!s1a!a%i(:5|s   "%   i  )r   getproperties_sizemaxsizemaxidr0   r   tuplerangeMODES_moderawmodejpeg_open_subimage)
r#   indexpropr:   r2   idbandsr%   colorsr3   s
            @r   r"   FpxImageFile._open_indexI   s8    xx%%!%-/CD
 )_d9o5
499~Ri19DFA Ri U
 ZZ2R Aq	19+C#, LuU|LL#(= 
DL 	sAa2g&Bz#x		! 
 	Atzz*r   c           
        SUS 3SUS 3S/nU R                   R                  U5      nUR                  S5        UR                  S5      n[        US5      [        US	5      4n[        US
5      [        US5      4n[        US5      n[        US5      n	X`R                  :w  a  Sn
[        U
5      eUR                  SU-   5        UR                  [        US5      U	-  5      nS=pUu  pUu  nn/ U l        [        S[        U5      U	5       GH\  n[        XU-   5      n[        XU-   5      n[        UUS	-   5      nUS:X  a;  U R                  R                  SXUU4[        UU5      S-   U R                  445        OUS:X  a?  U R                  R                  SXUU4[        UU5      S-   U R                  USS
 445        OUS:X  a{  US   nUS   nU R                  nU(       a  US:X  a  Su  nnOS nOUnU R                  R                  SXUU4[        UU5      S-   UU445        U(       a  U R                  U   U l        OSn
[        U
5      eX-   nX:  d  GMO  SUU-   pX:  d  GM]    O   X0l        U R                   U l        S U l        g )Nr)   r*   zResolution 04dzSubimage 0000 Header   $   r.   r   r-          zsubimage mismatch   r   rawr   fillr,         r
   )YCbCrKCMYKrA   zunknown/invalid compression)r   
openstreamreadr0   r:   r   seektiler=   lenminappendr@   rA   tile_prefixstreamr   _fp)r#   rC   subimager^   r   r3   r:   tilesizeoffsetlengthr%   xyxsizeysizextileytiler2   x1y1compressioninternal_color_conversionjpeg_tablesr@   jpegmodes                            r   rB   FpxImageFile._open_subimagey   s   
 !s,(3("
 XX  ( 	 GGBK1ay#a)#q":s1bz)QQ99%C#, 	VGGC2J'(	u	q#a&&)AUI&BUI&BaQ-Ka		  r2Aq	B	 !		  r2Aq	BqBx0	 !,-bE)e,,,&( -=)'#'  'H		  r2Aq	B (+	 '+yy'=D$ 4cl"	Az!e)1:K *N 77r   c                    U R                   (       d1  U R                  R                  U R                  S S S/-   5      U l         [        R                  R                  U 5      $ )Nr,   zSubimage 0000 Data)r   r   rV   r^   r   load)r#   s    r   rr   FpxImageFile.load   sI    wwhh))$++bq/=Q<R*RSDG""''--r   c                V   > U R                   R                  5         [        TU ]  5         g N)r   closesuper)r#   	__class__s    r   rv   FpxImageFile.close   s    r   c                V   > U R                   R                  5         [        TU ]  5         g ru   )r   rv   rw   __exit__)r#   argsrx   s     r   r{   FpxImageFile.__exit__   s    r   )r_   r?   r8   r   rA   r;   r   r@   r^   rY   r]   )r   )rC   intreturnNone)r   r   )rC   r~   r`   r~   r   r   )r   r   )r|   objectr   r   )__name__
__module____qualname____firstlineno__formatformat_descriptionr&   r"   rB   rr   rv   r{   __static_attributes____classcell__)rx   s   @r   r   r   4   s4    F#".+`ob. r   r   z.fpx)r   bytesr   bool)
__future__r   r    r   r   _binaryr   r0   r>   r   r   register_openr   register_extension r   r   <module>r      s{   " #   !
 ,*:6H*86F	&'B9&& BR   L''w ?   ,,f 5r   