ó
î Xc           @   s¦   d  Z  d d l m Z m Z d d l Ti d# d 6d$ d% 6d& d' 6d( d) 6d* d+ 6d, d- 6d. d/ 6Z d „  Z d e j f d „  ƒ  YZ e j d  e e ƒ e j	 d  d! ƒ d" S(0   s   0.1iÿÿÿÿ(   t   Imaget	   ImageFile(   t   *t   At   Liþ  i   t   RGBAt   LAi € iþ t   RGBs   YCC;Pi   i  i  s   YCCA;Pi € i€ i€ iþ i   i  i  i € i€ i€ iþ c         C   s   |  d  t  k S(   Ni   (   t   MAGIC(   t   prefix(    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   _accept-   s    t   FpxImageFilec           B   sA   e  Z d  Z d Z d „  Z d d „ Z d d d „ Z d „  Z RS(   t   FPXt   FlashPixc         C   sk   y t  |  j ƒ |  _ Wn t k
 r5 t d ƒ ‚ n X|  j j j d k rZ t d ƒ ‚ n  |  j d ƒ d  S(   Ns!   not an FPX file; invalid OLE files$   56616700-C154-11CE-8553-00AA00A1F95Bs   not an FPX file; bad root CLSIDi   (   t	   OleFileIOt   fpt   olet   IOErrort   SyntaxErrort   roott   clsidt   _open_index(   t   self(    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   _open9   s    i   c         C   s`  |  j  j d | d g ƒ } | d | d f |  _ t |  j ƒ } d } x$ | d k rn | d } | d 7} qK W| d |  _ |  j d >} | d	 | B} g  } x? t t | d
 ƒ ƒ D]( } | j t | d | d
 ƒ d @ƒ q³ Wt t	 | ƒ \ |  _
 |  _ i  |  _ xB t d ƒ D]4 } d | d >B} | | k r| | |  j | <qqW|  j d |  j ƒ d  S(   Ns   Data Object Store %06ds   Image Contentsi  i  i   i@   i   i   i  i   i   iÿÿÿi   i  (   R   t   getpropertiest   sizet   maxt   maxidt   ranget   i32t   appendt   MODESt   tuplet   modet   rawmodet   jpegt   _open_subimage(   R   t   indext   propR   t   it   idt   st   colors(    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR   H   s,    	
&	i    c      	   C   s6  d | d | d g } |  j  j | ƒ } | j d ƒ } | j d ƒ } t | d ƒ t | d ƒ f } t | d ƒ } t | d	 ƒ t | d
 ƒ f }	 t | d ƒ }
 t | d ƒ } t | d ƒ } | |  j k rÝ t d ƒ ‚ n  | j d | ƒ | j t | d ƒ | ƒ } d } } | \ } } |	 \ } } g  |  _ xèt d t	 | ƒ | ƒ D]Î} t | | d ƒ } | d k r¶|  j j
 d | | | | | | f t | | ƒ d |  j f ƒ n,| d k r|  j j
 d | | | | | | f t | | ƒ d |  j | d d	 !f f ƒ nÐ | d k rÖt | d ƒ } t | d ƒ } |  j } | rq| d k rhd \ } } qwd  } n | } |  j j
 d | | | | | | f t | | ƒ d | | f f ƒ | râ|  j | |  _ qân t d ƒ ‚ | | } | | k rNd | | } } | | k rPqqNqNW| |  _ d  |  _ d  S(   Ns   Data Object Store %06ds   Resolution %04ds   Subimage 0000 Headeri   i$   i   i   i   i   i   i   i    s   subimage mismatchi    t   rawi   t   filli   i   i   R   t   YCbCrKt   CMYKR#   s   unknown/invalid compression(   R-   R.   (   R   t
   openstreamt   readR   R   R   t   seekt   tileR   t   lenR   R"   t   i8t   NoneR#   t   tile_prefixt   streamR   (   R   R%   t   subimageR7   R   t   pR)   R   t	   tilecountt   tilesizet   channelst   offsett   lengtht   xt   yt   xsizet   ysizet   xtilet   ytileR'   t   compressiont   internal_color_conversiont   jpeg_tablesR"   t   jpegmode(    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR$   x   sb    	
	# #-		# 
	c         C   sC   |  j  s/ |  j j |  j d  d g ƒ |  _  n  t j j |  ƒ d  S(   Ni   s   Subimage 0000 Data(   R   R   R/   R7   R   t   load(   R   (    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyRI   Ö   s    	(   t   __name__t
   __module__t   formatt   format_descriptionR   R   R$   RI   (    (    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyR   4   s   	0^R   s   .fpxN(   R   R   (   R   R   (   i   (   s   RGBAR   (   i € iþ (   R   s   YCC;P(   i   i  i  (   s   RGBAs   YCCA;P(   i € i€ i€ iþ (   R   R   (   i   i  i  (   s   RGBAs   RGBA(   i € i€ i€ iþ (
   t   __version__t   PILR    R   t   PIL.OleFileIOR   R
   R   t   register_opent   register_extension(    (    (    s6   /usr/lib/python2.7/dist-packages/PIL/FpxImagePlugin.pyt   <module>   s   

	­