%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/PIL/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/PIL/__pycache__/JpegImagePlugin.cpython-312.pyc

�

��e�s��h�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlmZm
Z
ddlmZddlmZddlmZddlmZdd	lmZd
�Zd�Zd�Zd
�Zd�Zidddef�dddef�dddef�dddef�dddef�ddd ef�d!d"d#ef�d$d%d&ef�d'd(�d)d*d+ef�d,d-d.ef�d/d0d1ef�d2d3d4ef�d5d6d7ef�d8d9d:ef�d;d<d=ef�d>d?�id@dA�dBdC�dDdE�dFdG�dHdI�dJdK�dLdM�dNdO�dPdQ�dRdSdTef�dUdVdWef�dXdYdZef�d[d\d]ef�d^d_d`ef�dadbdcef�dddedfef�dgdhdief��idjdkdlef�dmdndoef�dpdqdref�dsdtduef�dvdwdxef�dydzd{ef�d|d}d~ef�dd�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d�d�ef�d�d��d�d��d�d���d�d�d�d�d�d�d�d�d�d�d�d�d�efd���Zd��ZGd��d�e
j�Zd��Z d��Z!d�d�d�d�d�d�d��Z"d�Z#ddd�d��Z$d��Z%d��Z&d��Z'd�d��Z(ejRejTe(e�ejVejTe&�ejXejTgd���ejZejTd��y)��)�annotationsN�)�Image�	ImageFile)�i16be)�i32be)�o8)�o16be)�presetsc��t|jjd��dz
}tj|j|�y)N�)�i16�fp�readr�
_safe_read)�self�marker�ns   �5/usr/lib/python3/dist-packages/PIL/JpegImagePlugin.py�Skipr9s1���D�G�G�L�L��O��q� �A�
������!�$�c�n�t|jjd��dz
}tj|j|�}d|dzz}||j
|<|jj||f�|dk(r�|dddk(r�t|d�x|jd<}t|d	�|jd
<	|d}t|d�t|d
�f}|dk(r||jd<||jd<||jd<�n|dk(rh|dddk(r`d|jvr|jdxx|ddz
cc<�n�||jd<|jj�|z
dz|_�n�|dk(r|dddk(r||jd<�n�|dk(r%|dddk(r|jj|��n]|dk(r�|dddk(r�d}|jjdi�}	|||dzdk(�r&	|dz
}t||�}
|dz
}||}|d|zz
}||dzz
}t||�}|dz
}||||z}
|
d k(r5t|
d!�d"zt|
d�t|
d�d"zt|
d�d#�}
|
|	|
<||z
}||dzz
}|||dzdk(r��n�|d$k(r7|ddd%k(r/t|d�|jd&<	|d'}||jd(<nL|dk(rG|ddd)k(r?|dd|jd*<|jj�|z
dz|jd+<d|jvr}d|jvrn	|j'�}|d,}|d-}	t)|d!�|dz}t-j.|�r
d.}t1|��|d/k(r|d0z}||f|jd<yyy#t$rY��wxYw#t j"$rY��wxYw#t$$rY��wxYw#t*$r|}Y��wxYw#t j"t2t4t*t0t6f$rd1|jd<YywxYw)2Nr
zAPP%d����sJFIF��jfif��jfif_version���
r�dpi�	jfif_unit�jfif_density���sExif�exif��sFPXR�flashpix��ICC_PROFILE���sPhotoshop 3.0�	photoshops8BIMi�ri)�XResolution�DisplayedUnitsX�YResolution�DisplayedUnitsY��sAdobe�adobe��adobe_transformsMPF�mp�mpoffseti(izDPI is not a number�gR���Q@)�Hr;)rrrrr�app�applist�append�info�divmod�	Exception�tell�_exif_offset�icclist�
setdefault�i32�struct�error�
IndexError�getexif�float�	TypeError�math�isnan�
ValueError�KeyError�SyntaxError�ZeroDivisionError)rrr�sr<�versionr$r%�offsetr/�code�name_len�size�datar7r(�resolution_unit�x_resolutionr#�msgs                    r�APPr]>s���
	�D�G�G�L�L��O��q� �A����T�W�W�a�(�A�
�V�b�[�
!�C��D�H�H�S�M��L�L����a��!�
���A�b�q�E�W�,�&)�!�Q�i�/��	�	�&��G�$*�7�C�$8��	�	�.�!�		5��!��I��q�!�9�c�!�R�j�0�L��A�~�#/��	�	�%� �%.�D�I�I�k�"�(4�D�I�I�n�%�	�6�	�a���e�{�2��T�Y�Y���I�I�f���1�2��&�� !�D�I�I�f�� $������� 2�Q� 6�D��	�6�	�a���e�y�0� !��	�	�*��	�6�	�a���f�(8�8�	
�����A��	�6�	�a���f�(<�<����I�I�(�(��b�9�	����!��$��/�
��!����1�f�~���!����V�9���!�h�,�&���&�1�*�$���1�f�~���!�����&�4�-�0���6�>�'*�4��|�e�';�+.�t�Q�<�'*�4��|�e�';�+.�t�R�=�	�D�#'�	�$���$����&�1�*�$��1���!��$��/�8
�6�	�a���e�x�/� ��A�Y��	�	�'��	;���e�O�,;�D�I�I�'�(�	�6�	�a���e�x�/��A�B�%��	�	�$��!%������� 2�Q� 6��	�	�*��
�D�I�I��&�D�I�I�"5�	&��<�<�>�D�"�6�l�O���<�L�
#��L��O�,�|�A��>���z�z�#��+�� ��o�%��!�#��t���"�C�x�D�I�I�e��#6���_�	��	��v�<�<�
��
���	��	��&�
#�"��
#��
�L�L������

�
	&� &�D�I�I�e��
	&�sm�>N-�<BN<�O�>O5�O$�-=O5�-	N9�8N9�<O�O�	O!� O!�$O2�/O5�1O2�2O5�5<P4�3P4c��t|jjd��dz
}tj|j|�}||j
d<||jd<|jjd|f�y)Nr
�comment�COM)	rrrrrr?r<r=r>)rrrrSs    rr`r`�sf��	�D�G�G�L�L��O��q� �A����T�W�W�a�(�A��D�I�I�i���D�H�H�U�O��L�L�����
�#rc�&�t|jjd��dz
}tj|j|�}t|d�t|d�f|_|d|_|jdk7rd|j�d�}t|��|d|_|jdk(rd	|_	nI|jdk(rd
|_	n2|jdk(rd|_	nd|j�d
�}t|��|dvrdx|jd<|jd<|jr�|jj�|jddt|j�k(r.|jD�cgc]}|dd��	}}dj|�}nd}||jd<g|_tdt|�d�D];}|||dz}	|j j#|	d|	ddz|	ddz|	df��=ycc}w)Nr
r:rrr!zcannot handle z-bit layersr�L�RGBr�CMYKz
-layer images)���������progressive�progression�
r.r�icc_profiler'�r)rrrrr�_size�bitsrQ�layers�_moder?rD�sort�len�join�range�layerr>)
rrrrSr\�p�profilerl�i�ts
          r�SOFr{�s���	�D�G�G�L�L��O��q� �A����T�W�W�a�(�A��Q���C��1�I�%�D�J��!��D�I��y�y�A�~��t�y�y�k��5���#����A�$�D�K��{�{�a����
�	
����	���
�	
����	���
��t�{�{�m�=�9���#���
�1�1�>?�?��	�	�-� �4�9�9�]�#;��|�|��������<�<��?�2��#�d�l�l�"3�3�'+�|�|�4�!�q���v�4�G�4��(�(�7�+�K��K�#.��	�	�-� ����
�1�c�!�f�a�
 �?��
�a�!�a�%�L���
�
���1�Q�4��1����Q�q�T�B�Y��!��=�>�?��5s�Hc��t|jjd��dz
}tj|j|�}t|�r�|d}|dzdk(rdnd}d|dzz}t|�|kr
d}t
|��tj|dk(rdnd|d|�}tjd	k(r|dkDr|j�tD�	cgc]}	||	��	c}	|j|d
z<||d}t|�r��yycc}	w)Nr
rrmr�@zbad quantization table marker�B�H�littler)
rrrrrrsrQ�array�sys�	byteorder�byteswap�zigzag_index�quantization)
rrrrS�v�	precision�	qt_lengthr\rYrys
          r�DQTr��s���	�D�G�G�L�L��O��q� �A����T�W�W�a�(�A�

�a�&�
�a�D���r�'�Q�,�A�Q�	��	�B��&�	��q�6�I��1�C��c�"�"��{�{�)�q�.�3�c�1�Q�y�>�J���=�=�H�$��Q���M�M�O�6B�$C��T�!�W�$C����!�b�&�!�
�i�j�M���a�&��%Ds�D	i���SOF0zBaseline DCTi���SOF1zExtended Sequential DCTre�SOF2zProgressive DCTi��SOF3zSpatial losslessi��DHTzDefine Huffman tablei��SOF5zDifferential sequential DCTrf�SOF6zDifferential progressive DCTi��SOF7zDifferential spatiali�)�JPG�	ExtensionNi��SOF9zExtended sequential DCT (AC)rg�SOF10zProgressive DCT (AC)i��SOF11zSpatial lossless DCT (AC)i��DACz%Define arithmetic coding conditioningi��SOF13z Differential sequential DCT (AC)rh�SOF14z!Differential progressive DCT (AC)i��SOF15zDifferential spatial (AC)i�)�RST0z	Restart 0Ni�)�RST1z	Restart 1Ni�)�RST2z	Restart 2Ni�)�RST3z	Restart 3Ni�)�RST4z	Restart 4Ni�)�RST5z	Restart 5Ni�)�RST6z	Restart 6Ni�)�RST7z	Restart 7Ni�)�SOIzStart of imageNi�)�EOIzEnd of imageN���SOSz
Start of scani�r�zDefine quantization tablei��DNLzDefine number of linesi��DRIzDefine restart intervali��DHPzDefine hierarchical progressioni��EXPzExpand reference componentr�APP0zApplication segment 0r&�APP1zApplication segment 1r)�APP2zApplication segment 2i��APP3zApplication segment 3i��APP4zApplication segment 4i��APP5zApplication segment 5i��APP6zApplication segment 6i��APP7zApplication segment 7i��APP8zApplication segment 8i��APP9zApplication segment 9i��APP10zApplication segment 10i��APP11zApplication segment 11i��APP12zApplication segment 12r-�APP13zApplication segment 13r4�APP14zApplication segment 14i��APP15zApplication segment 15i�)�JPG0zExtension 0Ni�)�JPG1zExtension 1Ni�)�JPG2zExtension 2N)�JPG3zExtension 3N)�JPG4zExtension 4N)�JPG5zExtension 5N)�JPG6zExtension 6N)�JPG7zExtension 7N)�JPG8zExtension 8N)�JPG9zExtension 9N)�JPG10zExtension 10N)�JPG11zExtension 11N)�JPG12zExtension 12N)�JPG13zExtension 13Nr`�Comment)i�i�i��i��i��i��i��i��i��i���i��c��|dddk(S)Nr:s���)�prefixs r�_acceptr�[s���"�1�:��(�(rc�>�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�
JpegImageFile�JPEGzJPEG (ISO 10918)c���|jjd�}t|�s
d}t|��d}dx|_|_g|_i|_i|_i|_	i|_
g|_g|_	|d}|dk(r*||jjd�z}t|�}n|jjd�}�Q|tvrrt|\}}}|�	|||�|dk(r9|j}|jdk(rd	}d
d|j zd|dffg|_y|jjd�}n5|d
vrd}n.|dk(r|jjd�}n
d}t|����)Nr:znot a JPEG file��r�rr�rd�CMYK;I�jpeg�rr�>�ri�zno marker found)rrr�rQrorprv�
huffman_dc�
huffman_acr�r<r=rDr�MARKER�moderX�tile)rrSr\ry�name�description�handler�rawmodes        r�_openzJpegImageFile._openhsq���G�G�L�L��O���q�z�#�C��c�"�"���#$�#��	�D�K���
���������������������!��A��D�y�������Q��'����F���G�G�L�L��O����F�{�-3�A�Y�*��k�7��&��D�!�$���;�"�i�i�G��y�y�F�*�"*��"(�&�4�9�9�*<�a�'�2��!O� P�D�I���G�G�L�L��O���k�!����f���G�G�L�L��O��'��!�#�&�&�;rc��|jj|�}|s$tjrt	|d�sd|_y|S)z�
        internal: read more image data
        For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker
        so libjpeg can finish decoding
        �_endedTs��)rrr�LOAD_TRUNCATED_IMAGES�hasattrr�)r�
read_bytesrSs   r�	load_readzJpegImageFile.load_read�s;��
�G�G�L�L��$���Y�4�4�W�T�8�=T��D�K���rc��t|j�dk7ry|jry|jd\}}}}d}|j}|ddk(r|dvr||_|df}|r�t|jd|dz|jd|dz�}dD]	}	||	k\s�	n|d|d|d|dz
	zdz
|	z|dz|d|dz
|	zdz
|	z|dzf}|jd|	zdz
|	z|jd|	zdz
|	zf|_|	}||||fg|_|df|_dd|d|z|d|zf}
|j|
fS)	Nrrrc)rb�YCbCrr�)r!rr
rr
r:)rsr��
decoderconfigrXrq�minrnr�)rr�rX�d�e�o�a�scale�
original_sizerS�boxs           r�draftzJpegImageFile.draft�s����t�y�y�>�Q��������Y�Y�q�\�
��1�a�����	�	�
��Q�4�5�=�T�^�3��D�J��b��A����	�	�!���Q��/����1���a��1H�I�E�!�
���A�:��
��!���!���1���!���q��1�$��*�Q�q�T�1��1���!���q��1�$��*�Q�q�T�1�	�A� �9�9�Q�<�!�+�a�/�A�5��	�	�!��q�8H�1�8L�QR�7R�S�D�J��E���A�q�\�N��	�#�Q�Z����!�]�1�%��-�}�Q�/?�%�/G�H���y�y�#�~�rc�
�tj�\}}tj|�tjj|j�r$tjdd||jg�n#	tj|�d}t|��	tj|�5}|j�|j|_ddd�	tj|�|jj |_|jj$|_g|_y#t$rY��wxYw#1swY�lxYw#t$rY�dwxYw#	tj|�w#t$rYwwxYwxYw)N�djpeg�-outfilezInvalid Filename)�tempfile�mkstemp�os�close�path�exists�filename�
subprocess�
check_call�unlink�OSErrorrOr�open�load�imr�rqrXrnr�)r�fr�r\�_ims     r�
load_djpegzJpegImageFile.load_djpeg�s-���"�"�$���4�
�����
�7�7�>�>�$�-�-�(��!�!�7�J��d�m�m�"L�M�
��	�	�$��%�C��S�/�!�	����D�!�
!�S����
��&�&���
!�
��	�	�$���W�W�\�\��
��W�W�\�\��
���	��'�
��
��
!�
!���
��
��
��	�	�$����
��
�sl�;D1�E�3"E�E�E�1	D=�<D=�E	�E�	E�E�F�E3�2F�3	E?�<F�>E?�?Fc��t|�S�N)�_getexif�rs rr
zJpegImageFile._getexif�s����~�rc��t|�Sr)�_getmprs rrzJpegImageFile._getmp�s���d�|�rc��|jD]:\}}|dk(s�|jd�dd\}}|dk(s�)|j|�cSiS)z�
        Returns a dictionary containing the XMP tags.
        Requires defusedxml to be installed.

        :returns: XMP tags in a dictionary.
        r��Nr
shttp://ns.adobe.com/xap/1.0/)r=�split�_getxmp)r�segment�contentr�xmp_tagss     r�getxmpzJpegImageFile.getxmp�s]��!%���	2��G�W��&� �#*�=�=��#9�"�1�#=� ����<�<��<�<��1�1�		2�
�	rN)�__name__�
__module__�__qualname__�format�format_descriptionr�r�r�r
r
rrr�rrr�r�ds2��
�F�+��1'�f� "�H�>��
rr�c�\�d|jvry|j�j�S)Nr()r?rJ�_get_merged_dictrs rr
r
s&��
�T�Y�Y����<�<�>�*�*�,�,rc	���	|jd}tj|�}|j	d�}|dddk(rdnd}ddlm}	|j|�}|j|j�|j|�t|�}	|d
}
g}	|d}td
|
�D]�}
tj |�d�||
dz�}d}tt#||��}t%|ddz�t%|ddz�t%|ddz�|ddzdz	|ddzdz	|ddzd�}|dd
k(rd|d<n
d}	t|	��ddd d!d"d#d$d%�}|j'|d&d'�|d&<||d<|j)|���||d<|S#t$rYywxYw#t$r}d	}	t|	�|�d}~wwxYw#t$r}d}	t|	�|�d}~wwxYw#t$r}d(}	t|	�|�d}~wwxYw))Nr8r!rsMM*�>�<r)�TiffImagePluginz)malformed MP Index (unreadable directory)��z(malformed MP Index (no number of images)i�r�LLLHHrm)�	Attribute�Size�
DataOffset�EntryNo1�EntryNo2r&li@i i�i�i���)�DependentParentImageFlag�DependentChildImageFlag�RepresentativeImageFlag�Reserved�ImageDataFormat�MPTyper1r�z!unsupported picture format in MPO�	Undefinedz Large Thumbnail (VGA Equivalent)z$Large Thumbnail (Full HD Equivalent)zMulti-Frame Image (Panorama)zMulti-Frame Image: (Disparity)z Multi-Frame Image: (Multi-Angle)zBaseline MP Primary Image)riiiiiir2�Unknownz!malformed MP Index (bad MP Entry))r?rP�io�BytesIOrr�r#�ImageFileDirectory_v2�seek�nextr�dictrArQrurG�unpack_from�zip�bool�getr>)rrY�
file_contents�head�
endiannessr#r?r8r�r\�quant�	mpentries�rawmpentries�entrynum�
unpackedentry�labels�mpentry�mpentryattr�	mptypemaps                   rrr
su����y�y�����J�J�t�$�M����a� �D��R�a��$7�7��S�J�!�&��4�4�T�:�����4�9�9�%��	�	�-� �
�$�Z��
&��6�
��
�I�$&��&�z���a���	&�H�"�.�.��,�e�$�l�H�r�M��M�Q�F��3�v�}�5�6�G�,0���1E��1Q�,R�+/���0D��0P�+Q�+/���0D��0P�+Q�$�[�1�W�=�"�D�$+�K�$8�G�$D��#K�!�+�.��;�
�K��,�-��2�17��-�.�9��!�#�&�&�%�<�@�8�:�<�5��I�%.�M�M�+�h�2G��$S�K��!�#.�G�K� ����W�%�=	&�>��6�
��I��A������&�9���#��A�%��&���&�8���#��A�%��&��N�&�1���#��A�%��&�s[�F
�
AF�F;�C0G�
	F�F�	F8�%F3�3F8�;	G�G�G�	G6�#G1�1G6rbrcr�r�)�1rbrc�RGBXrdr�)@rrrr'r.rr+�r
rr rkrm���*r:r!r+����)�+�	r6�r,��(�,�5r"��� �'�-�4�6���!�&�.�3�7�<��"�%�/�2�8�;�=�#�$�0�1�9�:�>�?r
))rrrrrr)r
rrrrr)r
r
rrrrc���t|d�r|jdvry|jddd|jdddz|jdddz}tj	|d�S)Nrp)rr���rrr:r
)r�rprv�	samplingsr>)r�samplings  r�get_samplingrvsi���2�x� �B�I�I��$7���x�x��{�1�Q��"�(�(�1�+�a��"2�2�R�X�X�a�[��1�5E�E�H��=�=��2�&�&rc�	�|jdk(s|jdk(r
d}t|��	t|j}|j}|jdd�D�cgc]
}t|���}}|jdd�}	|jd	d�}
|jd
�}|	dk(rd}	d}
d}n�|	tvr/t|	}d}	|jd	d�}
|jd�}nnt|	t�s
d
}t|��|
tvrt|
jd	d�}
t|t�r |tvrt|jd�}|
dk(rd}
nD|
dk(rd}
n<|
dk(rd}
n4|
dk(rd}
n,|
dk(r'|jdk7r
d}t|��t|�}
d�}
|dk(r)|jdk7r
d}t|��t!|dd�}|
|�}|jdd�}d}|jd�}|r~d}||z
}g}|r|j#|d|�||d}|r�d}|D]P}t%d|zt'|�z�}|d|zdzt)|�zt)t'|��z|zz
}|dz
}�R|jd|j*jd��}|jdd �xs|jd!d �}|jd"d �}|jd#d�}t|t,j.�r|j1�}t'|�|kDr
d$}t|��|	||jd%d�||jd&d �|jd'd�|d|d|
|jd(d�|jd)d�||||f|_d}|s|r�|jd*k(r#d+|j4dz|j4dz}nL|	d,k\s|	dk(r#d|j4dz|j4dz}n|j4d|j4dz}|r|t'|�d-zz
}|r7|t'|�dzz
}n%t7|t'|�d-zt'|�dz�}t9j:||d.d|j4zd|fg|�y#t
$r!}d|j�d�}t
|�|�d}~wwxYwcc}w)/Nrz cannot write empty image as JPEGzcannot write mode z as JPEGr#r��qualityr|�subsampling�qtables�keepr�zInvalid quality settingz4:4:4z4:2:2rz4:2:0r
z4:1:1r�z3Cannot use 'keep' when original image is not a JPEGc��|�|St|t�rz	|j�D��cgc]5}|jdd�dj�D]
}t	|����7}}}tdt
|�d�D�cgc]
}|||dz��}}t|tttf�r�t|t�r*tt
|��D�cgc]}||vs�||��}}nt|t�rt|�}dt
|�cxkrdksnd}t|��t|�D]E\}}		t
|	�dk7r
d}t|��tjd|	�}	t|	�||<�G|Sycc}}wcc}w#t$r}d}t|�|�d}~wwxYwcc}w#t$r}d}t|�|�d}~wwxYw)	N�#rrr}zInvalid quantization tablerz$None or too many quantization tablesr)�
isinstance�str�
splitlinesr�intrursrO�tuple�listr:�	enumeraterLr�)
r��line�num�linesrSr�r\�key�idx�tables
          r�validate_qtablesz_save.<locals>.validate_qtables�s����?��N��g�s�#�

P�!(� 2� 2� 4���#�z�z�#�q�1�!�4�:�:�<�����H������7<�A�s�5�z�2�6N�O��5��Q��V�,�O��O��g��t�T�2�3��'�4�(�,1�#�g�,�,?��%(�3�'�>�G�C�L�����G�U�+��w�-����G��(�q�(�<�� ��o�%�'��0�

/�
��U�	/��5�z�R�'�:��'��n�,�!�K�K��U�3�E�
$(��;�G�C�L�

/��N�+4����P��	�
-�2�� ��o�1�,��
-����!�1�6�C�$�S�/�q�0��1�sR�F�:E8�#F�>E>�	F"�F"�41F'�8F�	F�F�F�'	G�0F>�>G�extrarr�rlr.s��r,r_riFrj�optimizer(zEXIF data is too long�smooth�keep_rgb�
streamtype�restart_marker_blocks�restart_marker_rowsrdr�_rr�)�width�heightrO�RAWMODEr�rPr�encoderinfor>�roundrr�r�r�rr�getattrr>�o16rsr	r?r�Exif�tobytes�
encoderconfigrX�maxr�_save)rrrr\r�r�r?�xr#r�r�r��presetr�r��MAX_BYTES_IN_MARKERrl�ICC_OVERHEAD_LEN�MAX_DATA_BYTES_IN_MARKER�markersryrrXr_rir�r(�bufsizes                            rr�r��s��	�x�x�1�}��	�	�Q��0����o��"��"�'�'�"��
�>�>�D�!�X�X�e�V�4�
5��5��8�
5�C�
5��h�h�y�"�%�G��(�(�=�"�-�K��h�h�y�!�G��&��������	�G�	���!�����j�j���3���*�*�^�,��
���
%�'����o���'�!�!�+�.�2�2�=�"�E�K��g�s�#��7�(:��g�&�*�*�>�:�G��g����	��	���	��	���	��	���	��	�
�9�9���G�C��S�/�!�"�2�&��$�L�&��
�9�9���G�C��S�/�!��"�n�d�3���w�'�G��H�H�W�c�"�E����(�(�=�)�K����#6�9I�#I� �����N�N�;�'@�(@�A�B�%�&>�&?�@�K��
���
	�F��q�+�+�c�&�k�9�:�D�����"�#��Q�%���S��\�"�	#�
��
�E�
��F�A�
	��h�h�y�"�'�'�+�+�i�"8�9�G�
�(�(�=�%�0�R�D�H�H�]�E�4R�K��x�x�
�E�*�H��8�8�F�C� �D��$��
�
�#��|�|�~��
�4�y�&�&�%����o��	������1�������U�#�����q�!��A���A������(�!�,����&��*���
���B��,�G��;�
�7�7�f���"�'�'�!�*�n�r�w�w�q�z�1�G�
��]�g��m��"�'�'�!�*�n�r�w�w�q�z�1�G��g�g�a�j�2�7�7�1�:�-�G���s�4�y�1�}�$�G���s�5�z�A�~�%�G��g�s�4�y�1�}�c�%�j�1�n�=��
�O�O�B��f�f�r�w�w�&6��7�C�D�g�N��[�"�"�2�7�7�)�8�4���c�l��!��"��6s�R%� S�%	S�.S
�
Sc��|j�}tjdd||g�	tj|�y#t
$rYywxYw)N�cjpegr�)�_dumprrr�rr)rrrr�s    r�_save_cjpegr�;sG���x�x�z�H����7�J��(�C�D�
�
�	�	�(����
��
�s�A�	A
�A
c���t||�}	|j�}|ddkDrddlm}|j	||�}|S#t
tf$rY|St$rtjd�Y|SwxYw)Nr$r)�MpoImageFilezTImage appears to be a malformed MPO file, it will be interpreted as a base JPEG file)
r�r�MpoImagePluginr��adoptrLrIrQ�warnings�warn)rrr�mpheaderr�s     r�jpeg_factoryr�Gs���	�r�8�	$�B�
��9�9�;���E�?�Q��4��#�#�B��1�B��I��
�z�"�
���I��
��
�
�
.�	
��I�
�s�0A�A3�A3�2A3)z.jfifz.jpez.jpgz.jpegz
image/jpeg)NN).�
__future__rr�r5rMr�rGrr�r�r�r�rr�_binaryrrrrFr	r
r��JpegPresetsrrr]r`r{r�r�r�r�r
rr�r�r}rr�r�r��
register_openr�
register_save�register_extensions�
register_mimer�rr�<module>r�sW��D#��	��	�
��
����!�!��!� �%�
A&�H$�-?�`�6@
�
�V�^�S�)�@
�
�V�.��4�@
��V�&��,�@
��V�'��-�	@
�
�U�*�D�1�@
��V�2�C�8�
@
��V�3�S�9�@
��V�+�S�1�@
��&�@
��V�3�S�9�@
��W�,�c�2�@
��W�1�3�7�@
��U�;�T�B�@
��W�8�#�>�@
��W�9�3�?�@
� �W�1�3�7�!@
�"�'�#@
�$�'�%@
�&�'�'@
�(�'�)@
�*�'�+@
�,�'�-@
�.�'�/@
�0�'�1@
�2�+�3@
�4�)�5@
�6�U�O�T�*�7@
�8�U�/��5�9@
�:�U�,�d�3�;@
�<�U�-�t�4�=@
�>�U�5�s�;�?@
�@�U�0�$�7�A@
�B�V�,�c�2�C@
�D�V�,�c�2�E@
�F�V�,�c�2�G@
�H�V�,�c�2�I@
�J�V�,�c�2�K@
�L�V�,�c�2�M@
�N�V�,�c�2�O@
�P�V�,�c�2�Q@
�R�V�,�c�2�S@
�T�V�,�c�2�U@
�V�W�.��4�W@
�X�W�.��4�Y@
�Z�W�.��4�[@
�\�W�.��4�]@
�^�W�.��4�_@
�`�W�.��4�a@
�b�)�c@
�d�)�e@
�f�)�g@
�h
*�)�)�)�)�)�)�+�+�+�+�
�I�s�#�@
��F)�]�I�'�'�]�@-�I�`

�	����
�
��	�����
�	�'�tO�n
��0����M�(�(�,��@�����M�(�(�%�0�����-�.�.�0R�S�����M�(�(�,�7r

Zerion Mini Shell 1.0