
    &Th	                         d dl Z ddlmZmZ d Z G d dej
                        Z ej                  ej                  ee        ej                  ej                  d       y)    N   )ImageTiffImagePluginc                 .    | d d t         j                  k(  S )N   )olefileMAGIC)prefixs    Z/home/stella.sw7ft.com/public_html/venv/lib/python3.12/site-packages/PIL/MicImagePlugin.py_acceptr      s    "1:&&    c                   F     e Zd ZdZdZdZd Zd Zd Z fdZ	 fdZ
 xZS )	MicImageFileMICzMicrosoft Image ComposerFc                    	 t        j                  | j                        | _        g | _        | j                  j                         D ]8  }|dd  s	|d   dd  dk(  s|d   dk(  s| j                  j                  |       : | j                  sd}t        |      d | _	        t        | j                        | _        | j                  dkD  | _        | j                  d       y # t        $ r}d}t        |      |d }~ww xY w)Nz!not an MIC file; invalid OLE filer   r   z.ACIr   z!not an MIC file; no image entries)r   	OleFileIOfpoleOSErrorSyntaxErrorimageslistdirappendframelen	_n_framesis_animatedseek)selfemsgpaths       r   _openzMicImageFile._open)   s    	*((1DH HH$$& 	)DABxDGBCLF2tAw'7I""4(	) {{5Cc""
T[[)>>A-		!-  	*5Cc")	*s   $C" "	C>+C99C>c                    | j                  |      sy 	 | j                  |   }| j                  j                  |      | _        t        j                  j                  |        || _
        y # t        $ r}d}t        |      |d }~ww xY w)Nzno such frame)_seek_checkr   
IndexErrorEOFErrorr   
openstreamr   r   TiffImageFiler$   r   )r    r   filenamer!   r"   s        r   r   zMicImageFile.seekG   s|    &	'{{5)H
 ((%%h/%%++D1
  	'!C3-Q&	's   A* *	B3BBc                     | j                   S N)r   )r    s    r   tellzMicImageFile.tellV   s    zzr   c                 V    | j                   j                          t        |           y r-   )r   closesuper)r    	__class__s    r   r0   zMicImageFile.closeY   s    r   c                 V    | j                   j                          t        |           y r-   )r   r0   r1   __exit__)r    argsr2   s     r   r4   zMicImageFile.__exit__]   s    r   )__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr$   r   r.   r0   r4   __classcell__)r2   s   @r   r   r   $   s2    F3(-%< r   r   z.mic)
r    r   r   r   r*   r   register_openr9   register_extension r   r   <module>rA      sY   (  $';?00 ;B   L''w ?   ,,f 5r   