403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/ecc200datamatrix.cpython-311.pyc
�

C�r_�E���dZidd�dd�dd�dd�d	d
�dd�d
d�dd�dd�dd�dd�dd�dd�dd�dd�dd �Zd!Zd"Zd#d$lmZGd%�d&e��Zd'S)()�ECC200datamatrix�)���0��o�>�)��D�����\��
)
��������t��n�=�)���������'��<�a�xr )�)���[r�*���r&��d���)�r&���_�	��wr�-���Srr;)r=��r0r#��K�Br��r.�m��^r��r�Zr?�)rr>��r7���Gr"�r?�r)���O�l�R��r<�r)�4��XrrCr#������rr[rZrrUr�|r ���`�2�r)�����+r&rKra�grT�%���5r@�"��y�rrr.��r'rirJr"�]r�$)$r$�r1�����r_�fr'�T���r]�P���r;rL�r�!�e�r6r9�s�,rr`�;�rF�b�Q�pr,)*�Mrcr����&�r)��i�zrLr$�r1�rr6r0r7�r���r�9rnrZ�rOr��6r�r���Erb����rr7rr)0r$�rUrra� �ur���r�r�rerr?���W��j���vr
rhrGrjr�rXr'r0rArr<rrRr�rYr��r�rMrr�r.rrOrFr��8)8rr7rr�r ror|��r0�rrj��r4����r��rsrr���r�r�r�ru��r���r���rr�r�r���r�r����
r�r$rt�Cr�rr[rfr��krJrk��.r)>r1rr�rbr��r#r�r�r?r��r�rQ��rhrr�r
r�r$�?r\rWrwr�r��r�@�rrK�r�r��rSru�3r�r�r�(rvr?ro�r�rYrjr�r�r�r	rEr��r^�V�/r��r)Dr|r��Yr]�r�r�r�r�r�rI�rs�Irtr.rqr�r�r\r*r�rr�rrr.rrM����rA�r)rr�r�r{r�r|r�rar�rerqr��r_rBr�rVrUr��1r�rdr�r�r�rQr)r�r�rargrRr<(i���rr�rrLrFrBrk�r�r�r�r1rfr�r�r�r>r#r�r�r�r
r���r�r
�7r�rdr�r��r�rar���r�rgr�Nr��}�r�r�rxrIr<rpr�r:�crr�r�r�r9r)����r�r+r��Lr|��r\rr&r`r(rsrrOrr�hrcrr�rP�rQ��~rNrqrlr7�J�r�r�rzr$r�r�r�r-r�r_rWr�rXr0r�r�rerbr�r�r�r2r�r'�r�rr.r�r�r�r�rrrYr	r�r�r^r�ryrur6��rGr �r�rrr{r,��rhr�r�rVrr�r�rJr�r�r�rSr!�qr���r�r*r}r�rUr�rCrrrrtr�r�rAr�r4�#r5r�r@��r�r=r�r�r�r�Urj��ArTrr?r�rr8r�r�rR�Hr~r�r�r]r�r/r�rir�rErM�{�r�r�rZr�r�r�r��:r��r;rr�rrornr�rDr�r[r�rm�Fr�rwr"rKr�r3r�r%r�rvrrHrrr�r�r�(r�rLr�r�r�r�r�r�r:rGr�r�rr�r�rrrer�r�r]r�r[rSr�rQr�r8r
r�rr`rrr<r�r/r�r�r7r;rsr�rr�r�rVr�r�rpr�rr|r�r	r2rr�r�r�r�r�r>r�r�r�rcrr�r�rFr�r�r�r�r+r~r�rvr(rRr�r�r�rr6rWr�rxr�r�r�r�r�r5r.r�r�rr�rkr�r�r�r#r�r3rZr,rzr"r�rwr�r�r�r�r�r�r�r�rr�rOr�r�rfr�rUr�r�rmrr�rr�r�rXrYr�r�r�rbr0r�r�r�rTr�r�rJrrdr�r�r�r�r$r�r�r�r�rDr�rEr?r�rjrnr1r�r�r=rr&r!r�rtrr�r�r�ryr�r_rKr-r�r�r�r�rgr�r�rPr*rorlrrqrr�rIr\r�r�r�r�rr�rNrr�r%r'rrr�r�r
r�rAr�rhr�rrrrHr�r}rMrCrur)r�rr^rr�rir�r�r rrrar4r�r9r�rBr�r{r@r�r��)�Barcodec��eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�ECC200DataMatrixaThis code only supports a Type 12 (44x44) C40 encoded data matrix.
    This is the size and encoding that Royal Mail wants on all mail from October 1st 2015.
    see https://bitbucket.org/rptlab/reportlab/issues/69/implementations-of-code-128-auto-and-data
    r�c���tj|g|�Ri|��d|_d|_d|_d|_d|_d|_|j|jdzz
|_|j|jdzz
|_	dS)Nr�rLrr�)
r�__init__�row_modules�col_modules�row_regions�col_regions�cw_data�cw_ecc�row_usable_modules�col_usable_modules)�self�args�kwargss   �M/usr/lib/python3/dist-packages/reportlab/graphics/barcode/ecc200datamatrix.pyrzECC200DataMatrix.__init__as������.�t�.�.�.�v�.�.�.�������������������"&�"2�T�5E��5I�"I���"&�"2�T�5E��5I�"I�����c�z�d|_|jD]}t|��dkr
d|_dS� |j|_dS)Nr�rr)�valid�value�ord�	validated)r�cs  r�validatezECC200DataMatrix.validatensK����
���	(�	(�A��1�v�v��|�|���
�����"�Z�D�N�N�Nrc���t|��}g}|dks|dkr|dks|dkrf|dkr`|dkr|�|dz
���n�|dkr |dkr|�|dz
���nl|�|dz
���nR|d	kr2|d
kr,|�d	��|�|���n|dkr|dks|d
krY|dkrS|�d��|dkr|dkr|�|dz
��n�|�|dz
��n�|dkr4|dkr.|�d��|�|dz
��nu|dkrY|dkrS|�d��|�d��||�t|dz
����z
}nt	d|�d|�d����|S)Nr�rr�r�rGr�r�r�rr�r�r�r+r6r�r�rartrLr�rr�zCannot encode z (�))r�append�_encode_c40_char�chr�	Exception)r�char�o�encodeds    rrz!ECC200DataMatrix._encode_c40_charws����I�I������7�7�q�B�w�w�1��7�7��R���A��G�G��B�w�w����q�2�v�&�&�&�&��b���Q�"�W�W����q�2�v�&�&�&�&����q�2�v�&�&�&�&�
�!�V�V��R����N�N�1�����N�N�1������2�g�g�!�r�'�'�q�B�w�w�1��7�7��N�N�1�����B�w�w�1��7�7����q�2�v�&�&�&�&����q�2�v�&�&�&�&�
�"�W�W��c����N�N�1�����N�N�1�r�6�"�"�"�"�
�#�X�X�!�s�(�(��N�N�1�����N�N�2�����t�,�,�S��S��\�\�:�:�:�G�G��)�t�t�t�Q�Q�Q�?�@�@�@��rc��g}|D]}||�|��z
}�t|��dzr'|�d��t|��dz�'g}|�d��tdt|��d��D]b}|||dz�}|ddz|ddzz|dzdz}|�|dz��|�|dz���c|�d	��t|��|jkrtd
���t|��|jkr{|�d��t|��|jkrNdt|��dzzd
zdz}|�d|zd	z��t|��|jk�N|S)Nr�rr�i@r�r�rL�rz4Too much data to fit into a data matrix of this sizerDr�rO)r�lenr�rangerr!)	rrr$r�	codewords�i�chunk�total�rs	         r�_encode_c40zECC200DataMatrix._encode_c40�s������	0�	0�A��t�,�,�Q�/�/�/�G�G��'�l�l�Q��	��N�N�1�����'�l�l�Q��	��	���������q�#�g�,�,��*�*�	*�	*�A��A�a��c�E�N�E��!�H�t�O�e�A�h��m�3�e�A�h�>��B�E����U�c�\�*�*�*����U�S�[�)�)�)�)���������y�>�>�D�L�(�(��R�S�S�S��y�>�>�D�L�(�(����S�!�!�!��i�.�.�4�<�/�/��S��^�^�a�/�0�C�7�1�<��� � �#��'�S��1�1�1��i�.�.�4�<�/�/��rc��||zS�N��r�int1�int2s   r�_gfsumzECC200DataMatrix._gfsum�s���d�{�rc�p�|dks|dkrdStt|t|zdzS)Nrr)�ALOGVAL�LOGVALr2s   r�
_gfproductzECC200DataMatrix._gfproduct�s5���1�9�9���	�	��1��F�4�L�6�$�<�7�3�>�?�?rc�^�t|}dg|z}|D]�}|�||d��}t|dz
dd��D]O}|�|||��||<|dkr(|�||dz
||��||<�P��|���|S)z�
        This method is basically verbatim from "huBarcode" which is BSD licensed
        https://github.com/hudora/huBarcode/blob/master/hubarcode/datamatrix/reedsolomon.py
        r���r�)�FACTORSr5r(r9�reverse)r�data�num_code_words�
cw_factors�
code_words�	data_word�tmp�js        r�_get_reed_solomon_codez'ECC200DataMatrix._get_reed_solomon_code�s���
�^�,�
��S�>�)�
��	R�	R�I��+�+�i��B��8�8�C��>�A�-�r�2�6�6�
R�
R�� $����Z��]� C� C�
�1�
��q�5�5�$(�K�K�
�1�q�5�0A�:�a�=�$Q�$Q�J�q�M��
R�
	�������rc��|�d��}g}tdd��D]}|�||z	dz���|���|S)Nrr�r�)�popr(rr=)rr>r�bitsr*s     r�_get_next_bitszECC200DataMatrix._get_next_bits�s\������������q�!���	(�	(�A��K�K���
�Q��'�'�'�'��������rc��|dkr||jz
}|d|jdzdzz
z
}|dkr||jz
}|d|jdzdzz
z
}||j||<dS)Nrr�r�)rr�_matrix)r�row�col�bits    r�
_place_bitzECC200DataMatrix._place_bit�s}����7�7��4�*�*�C��A�$�1�A�5��:�;�<�C���7�7��4�*�*�C��A�$�1�A�5��:�;�<�C�!$���S��#���rc��|�|��}|�|jdz
d|d��|�|jdz
d|d��|�|jdz
d|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��dS)	Nr�rrLr�r�rr�r	�rIrOrr�rr>rHs   r�_place_bit_corner_1z$ECC200DataMatrix._place_bit_corner_1��+���"�"�4�(�(������/�!�3�Q��Q��@�@�@�����/�!�3�Q��Q��@�@�@�����/�!�3�Q��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�@�@rc��|�|��}|�|jdz
d|d��|�|jdz
d|d��|�|jdz
d|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��dS�	Nr�rrLr�r�rr�r	rQrRs   r�_place_bit_corner_2z$ECC200DataMatrix._place_bit_corner_2�rTrc��|�|��}|�|jdz
d|d��|�|jdz
d|d��|�|jdz
d|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��dSrVrQrRs   r�_place_bit_corner_3z$ECC200DataMatrix._place_bit_corner_3�rTrc��|�|��}|�|jdz
d|d��|�|jdz
|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��|�d|jdz
|d��dS)	Nr�rr�rLr�rr�r	rQrRs   r�_place_bit_corner_4z$ECC200DataMatrix._place_bit_corner_4s6���"�"�4�(�(������/�!�3�Q��Q��@�@�@�����/�!�3�T�5L�q�5P�RV�WX�RY�Z�Z�Z�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�����4�2�Q�6��Q��@�@�@�@�@rc�B�|�|��}|�|dz
|dz
|d��|�|dz
|dz
|d��|�|dz
|dz
|d��|�|dz
|dz
|d��|�|dz
||d��|�||dz
|d��|�||dz
|d��|�|||d��dS)	NrLrr�r�r�rr�r	)rIrO)rr>rLrMrHs     r�_place_bit_standardz$ECC200DataMatrix._place_bit_standards���"�"�4�(�(������a���q��$�q�'�2�2�2�����a���q��$�q�'�2�2�2�����a���q��$�q�'�2�2�2�����a���q��$�q�'�2�2�2�����a���d�1�g�.�.�.�����S�1�W�d�1�g�.�.�.�����S�1�W�d�1�g�.�.�.�����S�$�q�'�*�*�*�*�*rc��|j}|j}|�||��|_d}d}	||kr|dkr|�|��n�||dz
kr!|dkr|dzr|�|��n[||dz
kr%|dkr|dzdkr|�|��n-||dzkr$|dkr|dzdkr|�|��	||kr0|dkr*|j||�|�|||��|dz}|dz
}|dks||krn�N|dz
}|dz
}	|dkr0||kr*|j||�|�|||��|dz
}|dz}||ks|dkrn�N|dz
}|dz
}||kr||krn��h|jD]"}td|��D]}||�d||<��#|jS)	z�
        This method is heavily influenced by "huBarcode" which is BSD licensed
        https://github.com/hudora/huBarcode/blob/master/hubarcode/datamatrix/placement.py
        r�rTrLr�Nr�r�)
rr�_create_empty_matrixrKrSrWrYr[r]r()rr>�rows�colsrLrMr*s       r�_create_matrixzECC200DataMatrix._create_matrixsl��
�&���&���0�0��t�<�<�������%	��d�{�{�s�a�x�x��(�(��.�.�.�.�����"�"�s�a�x�x�T�A�X�x��(�(��.�.�.�.�����"�"�s�a�x�x�T�A�X��]�]��(�(��.�.�.�.�����"�"�s�a�x�x�T�A�X��]�]��(�(��.�.�.�
���:�:�#��(�(�t�|�C�/@��/E�/M��,�,�T�3��<�<�<��q����q�����7�7�c�T�k�k��
�
�1�H�C��1�H�C�
��!�8�8��d�
�
�t�|�C�/@��/E�/M��,�,�T�3��<�<�<��q����q����$�;�;�#��'�'��
�
�1�H�C��1�H�C��d�{�{�s�d�{�{��K%	�N�<�	�	�C��1�d�^�^�
�
���q�6�>��C��F��
��|�rc��g}d}d}t|j|jz��}t|j|jz��}||jkr�||jkrr||z}||z}||||z�}	tdt
|	����D]}
|	|
|||z�|	|
<�|�|	��|dz
}||jk�rd}|dz
}||jk��|S�Nrr�)�intrr
rrr(r'r)r�matrix�regions�
col_offset�
row_offsetr`ra�r_offset�c_offset�regionr*s           r�_create_data_regionsz%ECC200DataMatrix._create_data_regionsYs�����
��
��4�*�T�-=�=�>�>���4�*�T�-=�=�>�>���4�+�+�+��t�/�/�/�%��,��%��,�����h�� 6�7���q�#�f�+�+�.�.�B�B�A� &�q�	�(�4��=�*@� A�F�1�I�I����v�&�&�&��a��
��t�/�/�/��J��!�O�J��4�+�+�+��rc�b�g}td|��D]}|�dg|z���|S)Nr)r(r)rrLrMrfr*s     rr_z%ECC200DataMatrix._create_empty_matrixos>�����q�#���	(�	(�A��M�M�4�&�3�,�'�'�'�'��
rc�@�g}|D�]}|�t|j|jz��t|j|jz����}t
|��D]+\}}t
|��D]\}}|||dz|dz<��,t
|��D]j\}}	|dkr!t
|	��D]\}}
|dzdz|	|<��,|dzt|��krt
|	��D]
\}}
d|	|<��]d|	d<|dz|	d<�k|�|����|S)Nr�rrLr;)	r_rer	rrr
�	enumerater'r)rrg�wrappedrlrfr*r`rDr>rLrMs           r�_wrap_data_regions_with_findersz0ECC200DataMatrix._wrap_data_regions_with_findersust�����	#�	#�F��.�.��D�$�t�'7�7�8�8��D�$�t�'7�7�8�8���F�
%�V�,�,�
,�
,���4�(����,�,�G�A�t�'+�F�1�Q�3�K��!��$�$�,�$�F�+�+�	
$�	
$���3���6�6�"+�C�.�.�-�-���3�"#�a�%�1���A���-���U�c�&�k�k�)�)�"+�C�.�.�#�#���3�!"��A���#��C��F��!�e�C��G�G��N�N�6�"�"�"�"��rc�:�g}tdt|��|j��D]t}||||jz�}d}|t|d��krEg}|D]
}|||z
}�|�|��|dz
}|t|d��k�E�u|Srd)r(r'r
r)rrg�mergedr*r+rD�
merged_rowrLs        r�_merge_data_regionsz$ECC200DataMatrix._merge_data_regions�s������q�#�g�,�,��(8�9�9�	�	�A��A�a�� 0�0�0�1�E��A��c�%��(�m�m�#�#��
� �)�)�C��#�a�&�(�J�J��
�
�j�)�)�)��Q����c�%��(�m�m�#�#���
rc��t|d��r|jS|�|j��}||�||j��z
}|�|��}|�|��}|�|��}|�	|��|_|j�
��|jS)Nr$)�hasattrr$r.rrEr
rbrmrrrvr=)rr$rf�data_regionsrqs     r�encodezECC200DataMatrix.encode�s����4��#�#�	 ��<���"�"�4�>�2�2���4�.�.�w���D�D�D���$�$�W�-�-���0�0��8�8���6�6�|�D�D���/�/��8�8�����������|�rc�V�|j|jz|_|j|jz|_dSr0)r�barWidth�_heightr	�_width)rrs  r�computeSizezECC200DataMatrix.computeSize�s(���'�$�-�7����&���6����rc���t|j��D]^\}}t|��D]I\}}|rB|�|j||jzz|j||jzz|j|j���J�_dSr0)rpr$�rect�xr|�y)rr�rLr�r>s     r�drawzECC200DataMatrix.draw�s������-�-�	�	�F�A�s�$�S�>�>�
�
���4����I�I����T�]�!2�2����T�]�!2�2��
��
�	����
�	�	rN)�__name__�
__module__�__qualname__�__doc__r|rrrr.r5r9rErIrOrSrWrYr[r]rbrmr_rrrvrzrr�r1rrrrZs����������H�J�J�J�(�(�(� � � �D���@���@�@�@����$���	%�	%�	%�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	+�	+�	+�9�9�9�v���,������8
�
�
���� 7�7�7�	�	�	�	�	rrN)�__all__r<r8r7�!reportlab.graphics.barcode.commonrrr1rr�<module>r�sZ��
��'���'��'�'��7�'��;�	'�
�?�'��G�
'��	$�'��	.�'��	:�'��	M�'��	-�'�$�	H�%'�*�	$�+'�2�	J�3'�:�	$�;'�D�	@�E'��R
��,��,6�5�5�5�5�5�c�c�c�c�c�w�c�c�c�c�cr

Youez - 2016 - github.com/yon3zu
LinuXploit