
    e7
                        d dl mZ 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)	    )annotationsN   )ImageTiffImagePluginc                .    | d d t         j                  k(  S )N   )olefileMAGIC)prefixs    4/usr/lib/python3/dist-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                        | _        | 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   r1   zMicImageFile.close[   s(    		r   c                    | j                   j                          | j                  j                          t        |           y r.   )r   r1   r   r2   __exit__)r!   argsr3   s     r   r5   zMicImageFile.__exit__`   s*    		r   )__name__
__module____qualname__formatformat_description!_close_exclusive_fp_after_loadingr%   r    r/   r1   r5   __classcell__)r3   s   @r   r   r   $   s3    F3(-%@
 r   r   z.mic)
__future__r   r	    r   r   r   r+   r   register_openr:   register_extension r   r   <module>rC      s\   $ #  $'??00 ?J   L''w ?   ,,f 5r   