
    Bwgx
                        d dl mZ d dlZddlmZmZ d	dZ G d dej                        Z ej                  ej                  ee        ej                  ej                  d       y)
    )annotationsN   )ImageTiffImagePluginc                .    | d d t         j                  k(  S )N   )olefileMAGIC)prefixs    I/var/www/horilla/myenv/lib/python3.12/site-packages/PIL/MicImagePlugin.py_acceptr      s    "1:&&    c                  P     e Zd ZdZdZdZd	dZd
dZddZd	 fdZ	d fdZ
 xZS )MicImageFileMICzMicrosoft Image ComposerFc                    	 t        j                  | j                        | _        | j                  j                         D cg c]  }|dd  r|d   dd  dk(  r
|d   dk(  r| c}| _        | j                  sd}t        |      d| _        t        | j                        | _
        | j                  dkD  | _        | j                  | _        | j                  d       y # t        $ r}d}t        |      |d }~ww xY wc c}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listdirimagesframelen	_n_framesis_animated_MicImageFile__fpseek)selfemsgpaths       r   _openzMicImageFile._open)   s    	*((1DH ((*
ABxDGBCLF2tAw'7I 
 {{5Cc""
T[[)>>A-GG			!1  	*5Cc")	*
s   $C !C;	C8%C33C8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.seekI   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.tellX   s    zzr   c                    | j                   j                          | j                  j                          t        |           y r/   )r    closer   super)r"   	__class__s    r   r2   zMicImageFile.close[   s(    		r   c                    | j                   j                          | j                  j                          t        |           y r/   )r    r2   r   r3   __exit__)r"   argsr4   s     r   r6   zMicImageFile.__exit__`   s*    		r   )returnNone)r   intr8   r9   )r8   r:   )r7   objectr8   r9   )__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr&   r!   r0   r2   r6   __classcell__)r4   s   @r   r   r   $   s3    F3(-%@
 r   r   z.mic)r   bytesr8   bool)
__future__r   r	    r   r   r   r,   r   register_openr?   register_extension r   r   <module>rJ      s\   $ #  $'??00 ?J   L''w ?   ,,f 5r   