Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/PIL/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-312.pyc

�

&ٜg.M��4�ddlmZddlZddlmZmZddlmZmZm	Z	ddl
mZddl
m
Zddl
mZdd	l
mZdd
l
mZddd
dddd�Zd&d�Zd&d�ZGd�dej�ZGd�dej0�ZGd�de�Zdddddd�Zd'd �Z	d(									d)d!�Zej<ej>ee�ej@ej>e�ejBej>d"�ejDej>d#�ejFd$e�ej<ej>ee�ej@ej>e�ejBej>d%�ejDej>d#�y)*�)�annotationsN)�IO�Any�)�Image�	ImageFile�ImagePalette)�i16le)�i32le��o8)�o16le)�o32le)�PzP;1)rzP;4)rr)�RGB�BGR;15)r�BGR)r�BGRX)r����� c��|dddk(S)N��BM���prefixs �=/usr/local/lib/python3.12/site-packages/PIL/BmpImagePlugin.py�_acceptr!4s���"�1�:����c��t|�dvS)N)��(�4�8�@�l�|)�i32rs r �_dib_acceptr,8s���v�;�8�8�8r"c��eZdZdZdZdZdddddd	d
�Zej�D]\ZZ	e	e
�e<�ddd�Zdd�Zy
)�BmpImageFilez0Image plugin for the Windows Bitmap format (BMP)�Windows Bitmap�BMPrrr�r�)�RAW�RLE8�RLE4�	BITFIELDS�JPEG�PNGc��
�|jj|jj}}|r||�t|d��dd�}t	|dt
�sJ�t
j|j|ddz
�}|ddk(rUt|d�|d<t|d�|d	<t|d�|d
<t|d�|d<|jd
|d<d|d<�n|ddv�r�|ddk(|d<|drdnd|d<t|d�|d<|dst|d�ndt|d�z
|d	<t|d�|d
<t|d�|d<t|d�|d<t|d�|d<t|d�t|d�f|d<t|d�|d <d|d<t	|dt�sJ�td!�|dD��|jd"<|d|jd#k(�rgd$�}t|�d%k\rNt|�d&k\r|jd'�nd|d'<t|�D]\}}	t|d(|dzz�||	<�n d|d'<|D]}	t|d��||	<�t	|d)t
�sJ�t	|d*t
�sJ�t	|d+t
�sJ�t	|d't
�sJ�|d)|d*|d+f|d,<|d)|d*|d+|d'f|d-<nd.|d�d/�}
t|
��t	|dt
�sJ�t	|d	t
�sJ�|d|d	f|_t	|dt
�sJ�|j#d d�r|d nd|dz|d <t	|d t
�sJ�|d0|dzk(r|ddkr|d|d zz
}t$j#|dd1�\|_}|j(sd2|d�d/�}
t|
��d3}|d|jd#k(r�gd4�d5gd6d7gd8�}
d9d:d;d<d=d>d?d>d@dAdBdC�}|d|
vr�|ddDk(rG|d-|
|dvr:t	|d-t�sJ�||d|d-f}dE|vrd=n|j(|_n�|ddFvr0|d,|
|dvr#t	|d,t�sJ�||d|d,f}n�dG}
t|
��dG}
t|
��|d|jd
k(r|ddDk(rJ|dHk(rEdI\}|_n:|d|jdJ|jdKfvrdL}ndM|d�d/�}
t|
��|j(dNk(r�d|d cxkrdOksndP|d �d/�}
t|
��t	|dt
�sJ�|d}|||d z�}dQ}|d dk(rdRnt+t-|d ��}t|�D]'\}}|||z||zdz}|t/|�dzk7s�&dS}�)|r|d dk(rdTndU|_|j(}n)dN|_t1j2|dk(rd9nd@|�|_|d|jd<|g}|dLk(r%|j|d|jdKk(�n8t	|dt
�sJ�|j|d|dzdVzdz	dWz�|j|d�t
j6|dd|d|d	f|xs|jj9�t|��g|_yX)Yz Read relevant info about the BMPr���)�header_size�	directionr;r$r�widthr�height�planes��bitsr3�compressionr1�palette_padding)r%r&r'r(r)r*���y_fliprr<lr�
r�	data_size�r�pixels_per_meter��colorsc3�&K�|]	}|dz���y�w)���o_�C@Nr��.0�xs  r �	<genexpr>z'BmpImageFile._bitmap.<locals>.<genexpr>�s����$X�:W�Q�Q��[�:W�s��dpir6)�r_mask�g_mask�b_mask�0r&�a_mask�$rTrUrV�rgb_mask�	rgba_maskzUnsupported BMP header type (�)�)�r^zUnsupported BMP pixel depth (�raw)�����rEr��~rarbr�rdrbrEr�rdrarbrE�rErbrard�rarbrErd�rdrbrEra�rrrr�rarbrE�i�i���i|i�rm)rrrr�XBGR�BGXR�ABGR�RGBA�BGRA�BGARrzBGR;16r))rr`)rrc)rre)rrf)rrg)rrh)rri)rrj)rrk)rrl)rrnr�A)rrz Unsupported BMP bitfields layout�)rsrrr4r5�bmp_rlezUnsupported BMP compression (rizUnsupported BMP Palette size (T�rrEF�1�Lrm���N)�fp�read�seekr+�
isinstance�intr�
_safe_read�i16�COMPRESSIONS�tuple�info�len�append�	enumerate�OSError�_size�get�BIT2MODE�_mode�mode�list�ranger
r	r_�palette�_Tile�tell�tile)�self�header�offsetr}r~�	file_info�header_data�masks�idx�mask�msg�raw_mode�decoder_name�	SUPPORTED�
MASK_MODES�paddingr��	grayscale�indices�ind�val�rgb�argss                       r �_bitmapzBmpImageFile._bitmapKsq���W�W�\�\�4�7�7�<�<�d�����L��t�A�w�<��>
�	��)�M�2�C�8�8�8��*�*�4�7�7�I�m�4L�q�4P�Q��
�]�#�r�)�!$�[�!�!4�I�g��"%�k�1�"5�I�h��"%�k�1�"5�I�h�� #�K�� 3�I�f��'+�'8�'8��'?�I�m�$�+,�I�'�(��}�
%�)C�
C�"-�a�.�D�"8�I�h��*3�H�*=�Q�2�I�k�"�!$�[�!�!4�I�g��!��*��K��#��S��a�0�0�
�h��
#&�k�1�"5�I�h�� #�K�� 4�I�f��'*�;��';�I�m�$�%(��b�%9�I�k�"��K��$��K��$�-�I�(�)�#&�k�2�"6�I�h��+,�I�'�(��i�(:�;�U�C�C�C�$�$X�)�DV�:W�$X�X�D�I�I�e����'�4�+<�+<�[�+I�I�6���{�#�r�)��;�'�2�-����X�.�.1�	�(�+�%.�u�%5�	��T�*-�k�2��a��<�*H�	�$��&6�+.�I�h�'� %��*-�d�1�g�,�	�$��!&�!�)�H�"5�s�;�;�;�!�)�H�"5�s�;�;�;�!�)�H�"5�s�;�;�;�!�)�H�"5�s�;�;�;��h�'��h�'��h�'�)�	�*�%��h�'��h�'��h�'��h�'�	*�	�+�&�2�)�M�2J�1K�1�M�C��#�,���)�G�,�c�2�2�2��)�H�-�s�3�3�3��w�'��8�)<�<��
��)�F�+�S�1�1�1��}�}�X�q�)�
�h���y��(�(�	�(��
�)�H�-�s�3�3�3��R�)�M�2�2�2�y��7H�A�7M��a�)�H�-�-�-�F� (�|�|�I�f�,=�x�H���
�H��y�y�1�)�F�2C�1D�A�F�C��#�,�����]�#�t�'8�'8��'E�E�	�.�.�*�,A�B�
;�I�6<�;A�7=�<B�<B�<B�<B�,2�05�-5�-5��J��� �I�-��f�%��+�!�+�.�)�I�f�<M�2N�N�%�i��&<�e�D�D�D�)�9�V�+<�i��>T�*U�V�H�+.�(�?���	�	�D�J��f�%��1�!�*�-��9�V�;L�1M�M�%�i�
�&;�U�C�C�C�)�9�V�+<�i�
�>S�*T�U�H�<�C�!�#�,�&�8���c�l�"�
�}�
%��):�):�5�)A�
A��� �B�&�6�R�<�'5�$��$�*�
�}�
%����f�%����f�%�*
�
�%�L�1�)�M�2J�1K�1�M�C��#�,���9�9����	�(�+�4�u�4�6�y��7J�6K�1�M���c�l�"�!�)�,=�">��D�D�D�#�$5�6���w��8�)<�<�=�� �	�!��*�a�/���e�I�h�$7�8�9��!*�'� 2�H�C��!�#��-�#��-�!�2C�D�C��b��g��k�)�$)�	�!3��(1�(�(;�q�(@��c�D�J�#�y�y�H�!$�D�J�#/�#3�#3�")�Q�,��E�7�$�D�L�
$-�]�#;��	�	�-� �#�*���9�$��K�K�	�-�0�D�4E�4E�f�4M�M�N��i��0�#�6�6�6��K�K�)�G�,�y��/@�@�2�E�!�K�PR�S�T����I�k�*�+��O�O���A�y��)�9�X�+>�?��(�$�'�'�,�,�.��d��	
�
��	r"c��|jjd�}t|�s
d}t|��t	|d�}|j|��y)z-Open file, check magic number and read headerr]zNot a BMP filerG)r�N)r|r}r!�SyntaxErrorr+r�)r��	head_datar�r�s    r �_openzBmpImageFile._open3sH���G�G�L�L��$�	��y�!�"�C��c�"�"��Y��#�����F��#r"N�rr)r�r�r�r��return�None�r�r�)
�__name__�
__module__�__qualname__�__doc__�format_description�formatr��items�k�v�varsr�r�rr"r r.r.?sU��:�*��
�F��a���A�VW�X�L��"�"�$���1����q�	�%�f
�P$r"r.c��eZdZdZdd�Zy)�
BmpRleDecoderTc��|j�J�|jd}t�}d}|jj|jj
z}t
|�|k�r�|jjd�}|jjd�}|r|s�n~|d}|r�||z|jjkDr#td|jj|z
�}|rFt|ddz	�}	t|ddz�}
t|�D]}|dzdk(r||	z
}�||
z
}�n|||zz
}||z
}�n�|ddk(rTt
|�|jjzdk7r+|dz
}t
|�|jjzdk7r�+d}�nu|ddk(r�n{|ddk(r�|jjd�}t
|�dkr�nH|jjd�\}
}|d|
||jjzzzz
}t
|�|jjz}n�|rM|ddz}|jj|�}|D]$}|t|dz	�z
}|t|dz�z
}�&n%|d}|jj|�}||z
}t
|�|krnb||dz
}|jj�dzdk7r*|jjdtj�t
|�|kr���|jdk(rdnd}|j!t#|�|d|jd	f�y
)Nrrr�r�rzrr:)r:r)�fdr��	bytearray�state�xsize�ysizer�r}�maxr
r�r�r~�os�SEEK_CURr��
set_as_raw�bytes)r��buffer�rle4�datarQ�dest_length�pixels�byte�
num_pixels�first_pixel�second_pixel�index�
bytes_read�right�up�
byte_count�	byte_read�rawmodes                  r �decodezBmpRleDecoder.decodeDs���w�w�"�"�"��y�y��|���{��
���j�j�&�&����)9�)9�9���$�i�+�%��W�W�\�\�!�_�F��7�7�<�<��?�D�������J���z�>�D�J�J�$4�$4�4�!$�Q��
�
�(8�(8�1�(<�!=�J��"$�T�!�W��\�"2�K�#%�d�1�g��n�#5�L�!&�z�!2�� �1�9��>� �K�/�D� �L�0�D�	"3��D�:�-�-�D��Z�����7�a�<��d�)�d�j�j�&6�&6�6�!�;������d�)�d�j�j�&6�&6�6�!�;��A��!�W��\���!�W��\�!%�����a��J��:���*�� $�����Q��I�E�2��G�u�r�D�J�J�4D�4D�/D�'D�E�E�D��D�	�D�J�J�$4�$4�4�A��%)�!�W��\�
�%)�W�W�\�\�*�%=�
�)3�I� �B�y�A�~�$6�6�D� �B�y�4�'7�$8�8�D�*4�&*�!�W�
�%)�W�W�\�\�*�%=�
��
�*���:���3����a��L�A��w�w�|�|�~��)�Q�.������Q����4�u�$�i�+�%�v���c�)�#�s������d��W�q�$�)�)�B�-�.@�A�r"N)r�z$bytes | Image.SupportsArrayInterfacer�ztuple[int, int])r�r�r��	_pulls_fdr�rr"r r�r�As
���I�Cr"r�c��eZdZdZdZdd�Zy)�DibImageFile�DIBr/c�$�|j�y)N)r�)r�s r r�zDibImageFile._open�s�����r"Nr�)r�r�r�r�r�r�rr"r r�r��s��
�F�)��r"r�)ryrr)rzr�)rrr�)rrr)rsrr)ryrzrrrrc� �t|||d�y)NF)�_save)�imr|�filenames   r �	_dib_saver��s��	�"�b�(�E�"r"c�b�	t|j\}}}|j}	|	jdd�}
t
d�|
D��}|jd|zdzdzd	zd
z}d}
||jdz}|jd
k(rdjd�dD��}nm|jdk(r"djd�td�D��}n<|jdk(r+|jjdd�}t|�dz}nd}|rWd|
z|dzz}||z}|dkDr
d}t|��|jdt|�ztd�zt|�z�|jt|
�t|jd�zt|jd�zt!d�zt!|�ztd�zt|�zt|d�zt|d�zt|�zt|�z�|jd|
dz
z�|r|j|�t#j$||t#j&dd|jzd||df�g�y#t$r!}d|j�d�}t|�|�d}~wwxYw) Nzcannot write mode z as BMPrS)�`r�c3�>K�|]}t|dzdz����y�w)rNg�?N)r�rOs  r rRz_save.<locals>.<genexpr>�s����4��1��A��K�#�%�&��s�rrDrr1r{r%rryr"c3�8K�|]}t|�dz���y�w�rNr�rP�is  r rRz_save.<locals>.<genexpr>�s����7�h��2�a�5�1�9�h���rxrzc3�8K�|]}t|�dz���y�wr�rr�s  r rRz_save.<locals>.<genexpr>�s����9�j��2�a�5�1�9�j�r�r�rrrrr]l��z)File size is too large for the BMP formatrr�r_r�r:)�SAVEr��KeyErrorr��encoderinfor�r��size�joinr�r��
getpaletter��
ValueError�write�o32�o16rr�r�)r�r|r��
bitmap_headerr�rArL�er�r�rS�ppm�strider��imager�r��	file_sizes                  r r�r��s���"� $�R�W�W�
����v�
�>�>�D�
�(�(�5�(�
#�C��4��4�
4�C��w�w�q�z�D� �1�$��*�Q�.�2�
6�F�
�F��R�W�W�Q�Z��E�	�w�w�#�~��(�(�7�h�7�7��	���C���(�(�9�e�C�j�9�9��	���C���%�%�"�"�5�&�1���W���"������f��v��z�)���U�N�	��y� �=�C��S�/�!�
�����)�n�
��!�f�
��&�k�
�	
��H�H��F��

�b�g�g�a�j�/�	�

�b�g�g�a�j�/�	��a�&�	��d�)�		�
�a�&�	��e�*�
	��c�!�f�+�	��c�!�f�+�	��f�+�		��f�+�
	���H�H�U�f�r�k�
"�#��
�����
�O�O�
�B���������(8�!�g�v�r�=R�S�T���w�"�"�2�7�7�)�7�3���c�l��!��"�s�J�	J.�
J)�)J.z.bmpz	image/bmprwz.dib)rr�r��bool)r��Image.Imager|�	IO[bytes]r��str | bytesr�r�)T)
r�rr|rr�rr�rr�r�)$�
__future__rr��typingrrr^rrr	�_binaryr
r�rr+r
rr�rr�r�r!r,r.�	PyDecoderr�r�r�r�r��
register_openr��
register_save�register_extension�
register_mime�register_decoderrr"r �<module>r
s���2#�	��,�,�!�!��!�!����������9�$�9�&�&�$�DF�I�'�'�F�X�<��
�	�	�����#�
RV�B��B�"�B�.9�B�JN�B�	�B�T����L�'�'��w�?�����L�'�'��/������,�,�f�5�����L�'�'��5�����y�-�0�����L�'�'��{�C�����L�'�'��3������,�,�f�5�����L�'�'��5r"

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists