%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/reportlab/graphics/barcode/__pycache__/qrencoder.cpython-312.pyc

�

��dE����ddlZddlZ	ddlmZ	eGd�d�ZGd�de�ZGd�d	e�Z	Gd
�de�Z
Gd�d
e�ZGd�de�ZGd�de�Z
Gd�de�ZGd�de�ZGd�de�ZGd�d�ZGd�d�ZGd�d�ZGd�d�ZGd �d!�Zed"�D�cgc]}|��c}Zed"�D�cgc]}|��c}Zed#�D]
Zd$ezee<�ed#d"�D](Zeed%z
eed&z
zeed'z
zeed#z
zee<�*ed(�D]
Zeeee<�Gd)�d*�ZGd+�d,�ZGd-�d.�Zy#ddlmZY��VxYw#e$reZY��`wxYwcc}wcc}w)/�N)�zip_longest)�izip_longestc�R�eZdZdZdZdZd�Zd�Zed��Z	d�Z
d�Zd�Zd	�Z
d
�Zy)�QRNrc�X�|jr|j|�st�||_y�N)�valid�
ValueError�data��selfrs  �F/usr/lib/python3/dist-packages/reportlab/graphics/barcode/qrencoder.py�__init__zQR.__init__*s!���:�:�d�j�j��.�����	�c�,�t|j�Sr��lenr�r
s r�__len__z
QR.__len__/����4�9�9�~�rc���|j�ytt|�t|j��\}}|t|j�zt|jd|�zS�Nr)�bits�divmodr�sum)r
�q�rs   r�	bitlengthzQR.bitlength2sR���9�9����c�$�i��T�Y�Y��0���1��3�t�y�y�>�!�C��	�	�"�1�
�$6�6�6rc��d|cxkrdkrnn|jdS|dkr|jdS|dkr|jdStd|z��)Nr�
���)�zUnknown version: )�
lengthbitsr
)r
�vers  r�
getLengthBitszQR.getLengthBits9sY���s�<�R�<��?�?�1�%�%�
�2�X��?�?�1�%�%�
�2�X��?�?�1�%�%��,�s�2�3�3rc�,�t|j�Srrrs r�	getLengthzQR.getLengthBrrc�,�t|j�Sr)�reprrrs r�__repr__zQR.__repr__Es���D�I�I��rc��|j|jd�|j|�}|r&|jt|j�|�yy)N���put�moder'rr�r
�buffer�version�lenbitss    r�write_headerzQR.write_headerHsB���
�
�4�9�9�a� ��$�$�W�-����J�J�s�4�9�9�~�w�0�rc��|j||�tt|j�g|jz�D]�}d}d}t|j�D]S}||��	|t
|j�z}||jj||�z
}||j|z
}�U|j||���yr)r6r�iterr�group�ranger�chars�indexrr0)r
r3r4�gr�n�is       r�writezQR.writeNs������&�'�*��t�D�I�I��/�$�*�*�<�=�	 �A��D��A��4�:�:�&�
)���Q�4�#���T�Z�Z��(�A�����)�)�!�A�$�/�/�A��D�I�I�a�L�(�D�	
)�

�J�J�q�$��	 r)�__name__�
__module__�__qualname__r	rr9rr�propertyrr'r)r,r6r@�rrrr%sH���E��D�
�E��
��7��7�4���1�
 rrc�X�eZdZejd�j
ZdZdZdZ	dZ
dZy)�QRNumberz[0-9]*$�
0123456789)r.�rIrIr")r ��N�rArBrC�re�compile�matchr	r;rr9r1r%rErrrGrGZs1���B�J�J�z�"�(�(�E��E��D�
�E��D��JrrGc�X�eZdZejd�j
ZdZdZdZ	dZ
dZy)�
QRAlphaNumz[-0-9A-Z $%*+./:]*$z-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:)��r$)�	��
NrLrErrrQrQbs2���B�J�J�-�.�4�4�E�<�E��D�
�E��D��JrrQc�(�eZdZdZdZdZdZd�Zd�Zy)�
QR8bitByte)�r"r.)rY�rZc�`�t|t�r|jd�|_y||_y)Nzutf-8)�
isinstance�unicode�encoderrs  rrzQR8bitByte.__init__ps#���d�G�$����G�,�D�I��D�Irc��|j||�|jD]/}t|t�rt	|�}|j|d��1y)NrY)r6rr\�str�ordr0)r
r3r4�cs    rr@zQR8bitByte.writevsF�����&�'�*����	�A��!�S�!���F���J�J�q�!��	rN)	rArBrCrr9r1r%rr@rErrrXrXjs ���D�
�E��D��J��rrXc�.�eZdZdZdZdZdZd�Zd�Zd�Z	y)	�QRKanji�rVr"rY�rYr rJc�b�	|j|�|_y#t$rtd��wxYw)NzNot valid kanji)�unicode_to_qrkanjir�UnicodeEncodeErrorr
rs  rrzQRKanji.__init__��4��	0��/�/��5�D�I��!�	0��.�/�/�	0����.c
�"�g}t|�D]�\}}	|jd�}	tt|�\}}|dz|z}d|cxkrdkrnn|dz}|d	zdz	d
z|dzz}n7d|cxkrd
krnn|dz}|d	zdz	d
z|dzz}ntd|||dzd��|j|���|S#t$r|\}}Y��wxYw#t
$r$}td|||dz|jd��d}~wt$rtd|||dzd��wxYw)Nz	shift-jis�qrkanjir"r.�illegal multibyte sequencerYi@�i������i@�i��i@��	�	enumerater^�mapra�	TypeErrorri�argsr
�append�r
r�codesr?rb�d�es       rrhzQRKanji.unicode_to_qrkanji�s\�����T�?�	�C�A�a�
G��H�H�[�)����c�1�+�C�A�a��Q���
�A���#�V�#��V����6�z�a�'�4�/�A��H�=���1�&��&��V����6�z�a�'�4�/�A��H�=��(��D�!�Q�q�S�)E�G�G��L�L��O�/	�0���'!���C�A�a���&�
M�(��D�!�Q�q�S�!�&�&��)�L�L���
G�(��D�!�Q�q�S�)E�G�G�
G��4�C�B3�3C�C�C�C�	D�C/�/Dc�n�|j||�|jD]}|j|d��y�NrV�r6rr0�r
r3r4rzs    rr@z
QRKanji.write��3�����&�'�*����	�A��J�J�q�"��	rN)
rArBrCrr9r1r%rrhr@rErrrdrd}s%���D�
�E��D��J�0��8rrdc�4�eZdZdZdZdZdZd�Zd�Zd�Z	d�Z
y	)
�QRHanzirer"rVrfc�b�	|j|�|_y#t$rtd��wxYw)NzNot valid hanzi)�unicode_to_qrhanzirrir
rs  rrzQRHanzi.__init__�rjrkc
�"�g}t|�D]�\}}	|jd�}	tt|�\}}|dz|z}d|cxkrdkrnn|dz}|d	zdz	d
z|dzz}n7d|cxkrd
krnn|dz}|d	zdz	d
z|dzz}ntd|||dzd��|j|���|S#t$r|\}}Y��wxYw#t
$r$}td|||dz|jd��d}~wt$rtd|||dzd��wxYw)N�gb2312�qrhanzir"r.rnrYi��i��ro�`rqi��i��i��rrrxs       rr�zQRHanzi.unicode_to_qrhanzi�s\�����T�?�	�C�A�a�
G��H�H�X�&����c�1�+�C�A�a��Q���
�A���#�V�#��V����6�z�a�'�4�/�A��H�=���1�&��&��V����6�z�a�'�4�/�A��H�=��(��D�!�Q�q�S�)E�G�G��L�L��O�/	�0���'!���C�A�a���&�
M�(��D�!�Q�q�S�!�&�&��)�L�L���
G�(��D�!�Q�q�S�)E�G�G�
G�r|c���|j|jd�|jdd�|j|�}|r&|jt|j�|�yy)Nr.r"r/r2s    rr6zQRHanzi.write_header�sP���
�
�4�9�9�a� ��
�
�1�a���$�$�W�-����J�J�s�4�9�9�~�w�0�rc�n�|j||�|jD]}|j|d��yr~rr�s    rr@z
QRHanzi.write�r�rN)rArBrCrr9r1r%rr�r6r@rErrr�r��s*���D�
�E��D��J�0��81�rr�c� �eZdZdZdZd�Zd�Zy)�QRECI��rrrc�V�d|cxkrdkstd��td��||_y)Nri?BzECI out of range)r
rrs  rrzQRECI.__init__�s3���4� �&� ��/�0�0�!��/�0�0���	rc�<�|j||�|jdkr|j|jd�y|jdkr |j|jdzd�y|jdkr |j|jdzd�yy)	N�rYi�?i�rZi��i��r�r
r3r4s   rr@zQRECI.write�s{�����&�'�*��9�9����J�J�t�y�y�!�$�
�Y�Y�&�
 ��J�J�t�y�y�6�)�2�.�
�Y�Y�(�
"��J�J�t�y�y�8�+�R�0�#rN�rArBrCr1r%rr@rErrr�r��s���D��J��1rr�c� �eZdZdZdZd�Zd�Zy)�QRStructAppendrIr�c��d|cxkrdkstd��td��d|cxkrdkstd��td��||_||_||_y)NrrZzpart out of range [1,16]ztotal out of range [1,16])r
�part�total�parity)r
r�r�r�s    rrzQRStructAppend.__init__�sg���4�~�2�~��7�8�8���7�8�8��5��B���8�9�9���8�9�9���	���
���rc���|j||�|j|jd�|j|jd�|j|jd�y)Nr.rY)r6r0r�r�r�r�s   rr@zQRStructAppend.writesH�����&�'�*��
�
�4�9�9�a� ��
�
�4�:�:�q�!��
�
�4�;�;��"rNr�rErrr�r��s���D��J��#rr�c� �eZdZdZdZd�Zd�Zy)�QRFNC1FirstrSr�c��yrrErs rrzQRFNC1First.__init__
s��rc�(�|j||�yr)r6r�s   rr@zQRFNC1First.write
s�����&�'�*rNr�rErrr�r�s���D��J�
�+rr�c�R�eZdZejd�j
ZdZdZd�Z	y)�QRFNC1Secondz^([A-Za-z]|[0-9][0-9])$rTr�c��|j||�|j}t|�dk(rt|�dz}nt	|�}|j|d�y)Nr"�drY)r6rrra�intr0r�s    rr@zQRFNC1Second.writesJ�����&�'�*��I�I���q�6�Q�;��A����A��A��A��
�
�1�a�rN)
rArBrCrMrNrOr	r1r%r@rErrr�r�s(���B�J�J�0�1�7�7�E��D��J�rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	gd�gd	�gd
�gd
�gd
�gd	�gd�gZ
d�Zd�Zd
�Z
gd�gd�gd�gd�gd�gZd�Zd�Zd�Zd�ZdZd�Zd�ZdZd�Zd�ZdZdZed��Zed��Zy)�QRCodec�X�||_||_d|_d|_d|_g|_yr)r4�errorCorrectLevel�modules�moduleCount�	dataCache�dataList)r
r4r�s   rrzQRCode.__init__ s.�����!2��������������
rc���t|t�r|}n+tttt
fD]}	||�}nt�|jj|�d|_	y#t$rY�CwxYwr)
r\rrGrQrdrXr
r�rwr�)r
r�newData�convs    r�addDatazQRCode.addData(so���d�B���G�!�:�w�
�C�
!���"�4�j�G��
!�!� ��
�
���W�%�����
"����s�A"�"	A.�-A.c�&�|j||Sr)r�)r
�row�cols   r�isDarkz
QRCode.isDark8s���|�|�C� ��%�%rc��|jSr)r�rs r�getModuleCountzQRCode.getModuleCount;s�����rc��tdd�D]z}tj||j�}t	d�|D��}d}|j
D]*}|dz
}||j
|�z
}||jz
}�,||dzks�y|SS)Nr"�(c3�4K�|]}|j���y�wr)�	dataCount)�.0�blocks  r�	<genexpr>z+QRCode.calculate_version.<locals>.<genexpr>Bs���� G�U���� G�s�rr.rY)r:�	QRRSBlock�getRSBlocksr�rr�r'r)r
r4�rsBlocks�totalDataCount�lengthrs      r�calculate_versionzQRCode.calculate_version>s����Q��|�		�G� �,�,�W�d�6L�6L�M�H� � G�h� G�G�N��F��
�
�
)���!����$�,�,�W�5�5���$�.�.�(��
)���!�+�+����		��rc��|j�|j�|_|jd|j��y)NF)r4r��makeImpl�getBestMaskPatternrs r�makezQRCode.makeLs3���<�<���1�1�3�D�L��
�
�e�T�4�4�6�7rc��|jdzdz|_t|j�D�cgc]}dg|jz��c}|_|j	dd�|j	|jdz
d�|j	d|jdz
�|j�|j
�|j||�|jdk\r|j|�|jdk(r:tj|j|j|j�|_	|j|j|�ycc}w)Nr.�Frr�)r4r�r:r��setupPositionProbePattern�setupPositionAdjustPattern�setupTimingPattern�
setupTypeInfo�setupTypeNumberr�r��
createDatar�r��mapData)r
�test�maskPattern�xs    rr�zQRCode.makeImplQs���<�<�!�+�b�0���"'��(8�(8�"9�<�� ��4�#3�#3�3�<����&�&�q�!�,��&�&�t�'7�'7�!�';�Q�?��&�&�q�$�*:�*:�Q�*>�?��'�'�)����!����4��-��L�L�A��� � ��&��N�N�d�"�#�.�.�t�|�|�/3�/E�/E�/3�}�}�>�D�N�	
���T�^�^�[�1��<s�E)TTTTTTT)TFFFFFT)TFTTTFTc���|dk(rSdgdz|j|dz||dz|dk(rd|j|dz|dz<n5d|j|dz|dz
<ndgdz|j|dz
||dzt|j�D]S\}}||j||z||dz|dk(rd|j||z|dz<�<d|j||z|dz
<�Uy)NrFr�r"rY)r�rs�_positionProbePattern)r
r�r�rrs     rr�z QRCode.setupPositionProbePatternms���!�8�.3�W�q�[�D�L�L��Q����C��E�*��a�x�-2����S��U�#�C��E�*�-2����S��U�#�C��E�*�/4�W�q�[�D�L�L��Q����C��E�*� ��!;�!;�<�	3�G�A�t�-1�D�L�L��Q����C��E�*��a�x�-2����S��U�#�C��E�*�-2����S��U�#�C��E�*�	3rc��d}d}td�D]8}|jd|�tj|�}|dk(s||kDs�5|}|}�:|S)NrrYT)r:r��QRUtil�getLostPoint)r
�minLostPoint�patternr?�	lostPoints     rr�zQRCode.getBestMaskPatterns\�������q��	�A��M�M�$��"��+�+�D�1�I��Q��,��2�(����	��rc��td|jdz
�D]}|dzdk(|j|d<�tjtj
ddg�|jdz
�|jdd|jdz
y)NrYr$rrRTFrZ)r:r�r��	itertools�islice�cycle)r
rs  rr�zQRCode.setupTimingPattern�s����q�$�*�*�Q�.�/�	.�A�"#�a�%�1�*�D�L�L��O�A��	.�2;�2B�2B��O�O�T�5�M�*�D�,<�,<�r�,A�3C����Q���$�*�*�Q�.�/r)TTTTT)TFFFT)TFTFTc�H�tj|j�}|jdz
}t	j
||�D][\}}|dkr|dks||k\r�||k\r|dkr�!t
|j�D]#\}}||j||zdz
|dz
|dz�%�]y)NrYr$rI)	r��getPatternPositionr4r�r��productrs�_positionAdjustPatternr�)r
�pos�maxposr�r�rrs       rr�z!QRCode.setupPositionAdjustPattern�s����'�'����5���!�!�A�%��!�)�)�#�s�3�	>�H�C���a�x�S�A�X��������3�!�8��$�T�%@�%@�A�
>���4�9=����S�1�W�q�[�)�#�a�%��A��6�
>�	>rc�n�tj|j�}td�D]=}|xr||z	dzdk(}||j|dz|dz|j
zdz
dz
<�?td�D]=}|xr||z	dzdk(}||j|dz|j
zdz
dz
|dz<�?y)N�r"rIrY)r��getBCHTypeNumberr4r:r�r�)r
r�rr?�mods     rr�zQRCode.setupTypeNumber�s����&�&�t�|�|�4���r��	J�A��8�7�4�1�9��/�a� 7�C�EH�D�L�L��a�� ��Q���)9�)9�!9�A�!=��!A�B�	J��r��	J�A��8�7�4�1�9��/�a� 7�C�EH�D�L�L��Q���!1�!1�1�A�5��9�:�1��6�B�	Jrc�~�|jdz|z}tj|�}td�D]g}|xr||z	dzdk(}|dkr||j|d<�+|dkr||j|dzd<�F||j|j
dz
|zd<�itd�D]s}|xr||z	dzdk(}|dkr#||jd|j
|z
dz
<�;|dkr||jdd|z
dz
dz<�\||jdd|z
dz
<�u||j|j
dz
d<y)NrI�r"rRrYrT)r�r��getBCHTypeInfor:r�r�)r
r�r�rrr?r�s       rr�zQRCode.setupTypeInfo�sg���&�&�!�+�{�:���$�$�T�*���r��	A�A��8�7�4�1�9��/�a� 7�C��A��%(����Q���"��a�%�),����Q��U�#�A�&�=@����T�-�-��2�Q�6�7��:�	A��r��	2�A��8�7�4�1�9��/�a� 7�C��A��<?����Q��� 0� 0�1� 4�q� 8�9��a�%�25����Q���Q���
�Q��/�.1����Q���Q���
�+�	2�6:�����T�%�%��)�*�1�-rc
#�K�tjt|jdz
dd�tddd��}t	td|jdz
��t	tjtd�td|j���t	td|j��f}td	�|D��}tj|j�}ttjjd
�|D���}|jdz
}|D]�}||}}|dkrd}n||jdz
k\rd}nd}||D]�}td�D]s}	||	z
}	|jdk\r0|dkr|	|jdz
k\r�/|dkr||jdz
k\r�G||vr#|	|vr|dkr
|	dks|	|kDs|	dkr
|dks||kDs�n|	|f���u����y�w)
Nr"rR���rSrrTrYr�c3�DK�|]}tt|�����y�wr)�list�reversed)r�rs  rr�z*QRCode._dataPosIterator.<locals>.<genexpr>�s����7�Q�t�H�Q�K�(�7�s� c3�BK�|]}|dz
|dz
||dz|dzf���y�w)r$r"NrE)r��ps  rr�z*QRCode._dataPosIterator.<locals>.<genexpr>�s0����13�()�Q�q�S�!�A�#�q�!�A�#�q��s�#�13�s�rUr$)r��chainr:r�r��tupler�r�r4�set�
from_iterable)
r
�cols�rows�rrows�pposr�r��rowidxr�rbs
          r�_dataPosIteratorzQRCode._dataPosIterator�s��������u�T�%5�%5��%9�1�b�A�$�Q��2��0���U�1�d�.�.��2�3�4��Y�_�_�U�1�X�u�Q��8H�8H�/I�J�K��U�1�d�.�.�/�0�2���7�$�7�7���(�(����6���9�?�?�0�0�13�-1�13�3�4���!�!�B�&���	#�C���%�D��a�x�!����(�(�1�,�,�q�f��&��F�|�

#���q��#�A��a��A��|�|�q�(���7�q�D�,<�,<�r�,A�'A�$� �1�W���0@�0@�2�0E�)E�$��d�{�q�D�y� #�b��a�"�f��F�
���F��b��C�&�L�$��c�(�N�#�

#�	#�s�GGNc�n�|jst|j��|_|jSr)�_dataPosListr�r�rs r�dataPosIteratorzQRCode.dataPosIterator�s-��� � � $�T�%:�%:�%<� =�D��� � � rc#�HK�|D]}dD]}t||z�����y�w)N)��@� rZrYr.r$r")�bool)r
r�byte�bits    r�_dataBitIteratorzQRCode._dataBitIterator�s5�����	'�D�0�
'���4�#�:�&�&�
'�	'�s� "c��|jst|j|��|_t|j�Sr)�_dataBitListr�r	r8rs  r�dataBitIteratorzQRCode.dataBitIterator�s4��� � � $�T�%:�%:�4�%@� A�D���D�%�%�&�&rc���|j|�}tj|�}t|j	�|d��D]$\\}}}||||�z|j
||<�&y)NF��	fillvalue)rr��getMaskrrr�)r
rr�r�maskr�r��darks        rr�zQRCode.mapData�sk���#�#�D�)���~�~�k�*�� +�D�,@�,@�,B�D�6;�!=�	;��J�S�#��%)�D��c�N�%:�D�L�L���c�"�	;r��r�c���tj||�}t�}|D]}|j||��d}|D]}||jz
}�|j�|dzkDr!t
d|j�|dzfz��|j�dz|dzkr|jdd�|j�dzdk7r(|jd�|j�dzdk7r�(	|j�|dzk\rnX|jtjd�|j�|dzk\rn!|jtjd��otj||�S)NrrYzcode length overflow. (%d > %d)r.F)
r�r��QRBitBufferr@r��getLengthInBits�	Exceptionr0�putBitr��PAD0�PAD1�createBytes)r4r�r�r�r3rr�r�s        rr�zQRCode.createDatas{���(�(��2C�D������	(�D��J�J�v�w�'�	(����	.�E��e�o�o�-�N�	.��"�"�$�~��'9�9��=�#�3�3�5�~��7I�J�K�L�
L�
�"�"�$�q�(�N�Q�,>�>��J�J�q�!���%�%�'�!�+�q�0��M�M�%� ��%�%�'�!�+�q�0���&�&�(�N�Q�,>�>���J�J�v�{�{�A�&��&�&�(�N�Q�,>�>���J�J�v�{�{�A�&�
��!�!�&�(�3�3rc	���d}d}d}d}g}g}|D�]}||jz
}|j}	|j|	z
}
t||	�}t||
�}|j|j|||	z�||	z
}t
j
|
�}t|d|j�dz
�}|j|�}
|j�dz
}|
j�}|jt||z
|�D�cgc]}|dk\r|
j|�nd��c}���tjt|�t|��D��cgc]
}|D]}|�|���}}}|Scc}wcc}}w)Nr���r")�
totalCountr��maxrwr3r��getErrorCorrectPolynomial�QRPolynomialr)r�r:�getr�r�r)r3r��offset�
maxDcCount�
maxEcCount�totalCodeCount�dcdata�ecdatar��dcCount�ecCount�rsPoly�rawPoly�modPoly�rLen�mLenr?�ddrzrs                    rrzQRCode.createBytes s������
��
��������	?�E��e�.�.�.�N��o�o�G��&�&��0�G��Z��1�J��Z��1�J��M�M�&�-�-��v�g�~�>�?��g��F��5�5�g�>�F�"�6�"�:�v�/?�/?�/A�A�/E�F�G��k�k�&�)�G��#�#�%��)�D��$�$�&�D��M�M�#(����d�#;�>��01�A�v�W�[�[��^�1�<�>�
?�	?� '�_�_��V�$�k�6�&:�<�/�r��/���
��/��/��/����
>��/s�E%
�E*)rArBrCrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	rrr�rr�staticmethodr�rrErrr�r�s����� &� ��8�
2�&	9�8�8�8�8�8�8�
��3�$	�C�	+�*�*�*�*�
��	>�J�;�0#�B�L�!�
'��L�'�
;��D��D��4��4�8���rr�c��eZdZdZdZdZdZy)�QRErrorCorrectLevelr"rrIr$N)rArBrC�L�M�Q�HrErrr3r3>s��	�A�	�A�	�A�	�Arr3c�,�eZdZdZdZdZdZdZdZdZ	dZ
y	)
�
QRMaskPatternrr"r$rIr.rSrRr�N)rArBrC�
PATTERN000�
PATTERN001�
PATTERN010�
PATTERN011�
PATTERN100�
PATTERN101�
PATTERN110�
PATTERN111rErrr9r9Ds*���J��J��J��J��J��J��J��Jrr9c	�6�eZdZgg�ddg�ddg�ddg�ddg�ddg�gd��gd��gd	��gd
��gd��gd��gd
��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd ��gd!��gd"��gd#��gd$��gd%��gd&��gd'��gd(��Zd)Zd*Zd+Zed,��Zed-��Z	ed.��Z
ed/��Zd0�d1�d2�d3�d4�d5�d6�d7�d8�Ze
d9��Zed:��Ze
d;��Ze
d<��Ze
gd=�fd>��Ze
d?��Ze
d@��ZyA)Br�rRr�����")rRrC�&)rRr��*)rRrD�.)rR��2)rRrE�6)rRr�:)rRrF�>)rRrDrI�B)rRrD�0�F)rRrDrK�J)rRrErL�N)rRrE�8�R)rRrErM�V)rRrFrN�Z)rRrJrK�H�^)rRrDrKrR�b)rRrErLrS�f)rRrJrL�P�j)rRrrM�T�n)rRrErMrV�r)rRrFrNrW�v)rRrDrKrRrZ�z)rRrErLrSr[�~)rRrD�4rS�h�)rRrErTrU�l�)rRrF�<rV�p�)rRrErMrVr`�)rRrFrNrWra�)rRrErLrSr[rc�)rRr�rK�Lr[r�)rRrJrLr\r]��)rRrrMr^r_��)rRrDrLrUr_rk�)rRrErMrVr`rl�i7i%iTc���|dz}tj|�tjtj�z
dk\r�|tjtj|�tjtj�z
zz}tj|�tjtj�z
dk\r��|dz|ztjzS)Nr r)r��getBCHDigit�G15�G15_MASK�rrzs  rr�zQRUtil.getBCHTypeInfo�s����B�J���!�!�!�$�v�'9�'9�&�*�*�'E�E��J�
�&�*�*��!3�!3�A�!6�!'�!3�!3�F�J�J�!?�"@�B�
D�A��!�!�!�$�v�'9�'9�&�*�*�'E�E��J��"�*��!�V�_�_�4�4rc��|dz}tj|�tjtj�z
dk\r�|tjtj|�tjtj�z
zz}tj|�tjtj�z
dk\r��|dz|zS)NrJr)r�rx�G18r{s  rr�zQRUtil.getBCHTypeNumber�s����B�J���!�!�!�$�v�'9�'9�&�*�*�'E�E��J�
�&�*�*��!3�!3�A�!6�!'�!3�!3�F�J�J�!?�"@�B�
D�A��!�!�!�$�v�'9�'9�&�*�*�'E�E��J���
�a��rc�4�d}|dk7r|dz
}|dz}|dk7r�|S�Nrr"rE)r�digits  rrxzQRUtil.getBCHDigit�s0�����q�y��Q�J�E��Q�J�D��q�y��rc�.�tj|dz
S�Nr")r��PATTERN_POSITION_TABLE)r4s rr�zQRUtil.getPatternPosition�s���,�,�W�q�[�9�9rc��||zdzdk(S�Nr$rrE�r?�js  r�<lambda>zQRUtil.<lambda>�����A���{�a�'�rc��|dzdk(Sr�rEr�s  rr�zQRUtil.<lambda>����q�1�u��z�rc��|dzdk(S�NrIrrEr�s  rr�zQRUtil.<lambda>�r�rc��||zdzdk(Sr�rEr�s  rr�zQRUtil.<lambda>�r�rc�$�|dz|dzzdzdk(S�Nr$rIrrEr�s  rr�zQRUtil.<lambda>�s���Q���a���1�,��1�rc�*�||zdz||zdzzdk(Sr�rEr�s  rr�zQRUtil.<lambda>�s ���!��Q�w�!�A�#�q��(�A�-�rc�0�||zdz||zdzzdzdk(Sr�rEr�s  rr�zQRUtil.<lambda>��%��!�a�%�1���A���{�2�a�7�1�<�rc�0�||zdz||zdzzdzdk(S)NrIr$rrEr�s  rr�zQRUtil.<lambda>�r�r)rr"r$rIr.rSrRr�c� �|j|Sr)r�)�clsr�s  rrzQRUtil.getMask�s�����{�+�+rc	��tdgd�}t|�D]2}|jtdtj	|�gd��}�4|S)Nr"r)r!r:�multiply�QRMath�gexp)�errorCorrectLength�ar?s   rr z QRUtil.getErrorCorrectPolynomial�sN���!��a� ���)�*�	B�A��
�
�<��F�K�K��N�(;�Q�?�A�A�	B��rc��d}dg}d}|D]�}|r�t||�D��cgc]
\}}||z��}}}t||d��D��cgc]\}}|dk\r|xr|dz
dz��}	}}|t|	�z
}t||d��D��cgc]\}}|rdn|dz��}}}|}��|t|D�cgc]}|dk\s�	|dz
dz��c}�z
}|Scc}}wcc}}wcc}}wcc}w)Nrrr.rIr")�ziprr)
r�r��score�	lastCount�lastRowr�r��b�changed�scoress
          r�maskScoreRule1vertzQRUtil.maskScoreRule1vert�s�����C�	����	�C��,/��W�,=�>�S�Q�q�1�q�5�>��>�%�g�y�A�F�%�C�A�a��!�V��-��1��Q��-�%��%���V��$��(3�G�Y�>?�)A�B�!$��1�#$�Q��Q��.�B�	�B��G�	�	��Y�9��!�q�&�a��c�!�e�9�:�:�����?��%��B��
:s�C�C�>C�"
C
�-
C
c��d}|d}|ddD]E}|d|d}}t|dd|dd�D]"\}}||cxk(r|cxk(r|k(rnn|dz
}||}}�$|}�G|S)Nrr"rI)r�)	r�r�r�r�r��lastCol0�lastCol1�col0�col1s	         r�maskScoreRule2zQRUtil.maskScoreRule2�s������!�*���1�2�;�	�C�!$�Q�����h�H�!�#�a�b�'�7�1�2�;�7�
0�
��d��4�7�8�7�x�7��Q�J�E�%)�4�(��
0��G�
	��r)TFTTTFTFFFFc��t|�}d}|D]9}d}t|�|z
}||ks�||||z|k(r|dz
}||z
}n|dz
}||kr�!�;|S)Nrr�r")r)r�r�r��
patternlenr�r�r��maxjs        r�maskScoreRule3horzQRUtil.maskScoreRule3hor�sy��
��\�
����	�C��A��s�8�j�(�D��d�(��q��:��&�'�1��R�K�E���O�A���F�A��d�(�	��rc�v�t|�dz}td�|D��}dtd|z|zdz
�dzzS)Nr$c3�2K�|]}t|����y�wr)r)r�r�s  rr�z(QRUtil.maskScoreRule4.<locals>.<genexpr>�s����0��C��H�0�s�r r�rKrS)rr�abs)r�r��	cellCount�counts    r�maskScoreRule4zQRUtil.maskScoreRule4�sB����L�!�O�	��0��0�0���S��u��	�1�B�6�7�1�<�=�=rc��d}||j|j�z
}||jt|j��z
}||j|j�z
}||j	|j�z
}||j	t|j��z
}||j|j�z
}|Sr)r�r�r�r�r�r�)r��qrCoder�s   rr�zQRUtil.getLostPoint�s����	��S�+�+�F�N�N�;�;�	��S�+�+�C����,@�A�A�	��S�'�'����7�7�	��S�*�*�6�>�>�:�:�	��S�*�*�3����+?�@�@�	��S�'�'����7�7�	��rN)rArBrCr�ryr}rzr1r�r�rxr�r��classmethodrr r�r�r�r�r�rErrr�r�Ns���)�
�)�	
�B��)�
�B��)�
�B��	)�

�B��)�
�B��
)�	�)�	�)�	�)�	�)�	�)�	�)�	�)�	�)�	�)� 	�!)�"	�#)�$	�%)�&	�')�(	�))�*	�+)�,	�-)�.	�/)�0	�1)�2	�3)�4	�5)�6	�7)�8	!�9)�:	"�;)�<	"�=)�>	"�?)�@	"�A)�B	"�C)�D	"�E)�F	'�G)�H	'�I)�J	'�K)�L	'�M)�N	'�O)�P	'�Q)��V�C�*�C�F�H��5��5�� �� ������:��:�(�!�!�'�1�-�<�<�	
�K��,��,���������(�����/����$�>��>�
���rr�c�,�eZdZed��Zed��Zy)r�c�@�|dkrtd|zdz��t|S)Nr"zglog(�))r�	LOG_TABLE�r>s r�glogzQRMath.glog�s'��
��E��G�a�K�#�-�.�.���|�rc�T�|dkr|dz
}|dkr�|dk\r|dz}|dk\r�t|S)Nrrq�)�	EXP_TABLEr�s rr�zQRMath.gexps>���!�e�
��H�A��!�e��3�h�
��H�A��3�h���|�rN)rArBrCr1r�r�rErrr�r��s(������
���rr�r�rYr"r.rSrRrqc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)r!c���t|�dk(rtt|�dz|z��d}|t|�kr$||dk(r|dz
}|t|�kr	||dk(r�||ddg|zz|_y)Nr�/r")rr�num)r
r��shiftr#s    rrzQRPolynomial.__init__s{����H��M��C��H�s�N�U�2�3�3����s�3�x��C��K�1�$4��a�K�F��s�3�x��C��K�1�$4��v�w�<�1�#�e�)�+��rc� �|j|Sr)r�)r
r<s  rr"zQRPolynomial.gets���x�x���rc�,�t|j�Sr)rr�rs rr)zQRPolynomial.getLength"s���4�8�8�}�rc
��dg|j�|j�zdz
z}t|j��D]�}t|j��D]l}|||zxxtjtj	|j|��tj	|j|��z�zcc<�n��t
|d�Sr)r)r:r�r�r�r"r!)r
r{r�r?r�s     rr�zQRPolynomial.multiply%s����c�T�^�^�%����
�5��9�:���t�~�~�'�(�	C�A��1�;�;�=�)�
C���A��E�
�f�k�k�&�+�+�d�h�h�q�k�*C�*0�+�+�a�e�e�A�h�*@�+A�C�C�
�
C�	C��C��#�#rc
��|j�|j�kr|Stj|jd�tj|jd�z
}t	|j|j�D��cgc]3\}}|tjtj|�|z�z��5}}}||j|j�dz
}t
|d�j|�Scc}}wr)r)r�r�r�r�r�r!r�)r
r{�ratio�nn�enr�s      rr�zQRPolynomial.mod-s����N�N��q�{�{�}�,��K����D�H�H�Q�K�)�F�K�K����a��,B�B������!�%�%�0�2��2�b��F�K�K����B��%� 7�8�8�2��2��t�x�x����
��'�'���C��#�'�'��*�*��	2s�8DN)rArBrCrr"r)r�r�rErrr!r!s��,���%�,rr!c�6�eZdZggd��gd��gd��gd��gd��gd��gd��gd��gd	��gd
��gd��gd��gd
��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd ��gd!��gd"��gd#��gd$��gd%��gd&��gd'��gd(��gd)��gd*��gd+��gd,��gd-��gd.��gd/��gd0��gd1��gd2��gd3��gd4��gd5��gd6��gd7��gd8��gd9��gd:��gd;��gd<��gd=��gd>��gd?��gd@��gdA��gdB��gdC��gdD��gdE��gdF��gdG��gdH��gdI��gdJ��gdK��gdL��gdM��gdN��gdO��gdP��gdQ��gdR��gdS��gdT��gdU��gdV��gdW��gdX��gdY��gdZ��gd[��gd\��gd]��gd^��gd_��gd`��gda��gdb��gdc��gdd��gde��gdf��gdg��gdh��gdi��gdj��gdk��gdl��gdm��gdn��gdo��gdp��gdq��gdr��gds��gdt��gdu��gdv��gdw��gdx��gdy��gdz��gd{��gd|��gd}��gd~��gd��gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���gd���Zd��Zed���Zed���Zy�)�r�)r"rD�)r"rDrZ)r"rDrV)r"rDrT)r"�,rF)r"r�rJ)r"r�rC)r"r�rZ)r"rQ�7)r"rQr�)r$�#r�)r$r�rV)r"r�r\)r$rKr)r$rKr�)r.�rT)r"rhrg)r$�C�+)r$�!r�r$rFrZ)r$r�rUr$rFrJ)r$rV�D)r.r�r!)r.r�r�)r.r�r�)r$rZrS)r.�1�)r$rrKr.r�r�)r.�'rVr"r�rK)r$�y�a)r$rirGr$�=r�)r.r�r�r$r#r�)r.r�rKr$r#r�)r$rm�t)rIrM�$r$�;�%)r.r�rZr.r�r�)r.r�rJr.r�rV)r$rVr�r$�W�E)r.r�r�r"rQr�)rRr�r�r$r��)rRr�r�r$r�rZ)r.�e�Q)r"r\rKr.r��3)r.rKrCr.r��)rIr�rJrYr�rV)r$r��\r$�u�])rRrMr�r$r�r�)r.rIr�rR�/�)r�rHrKr.r�r�)r.��k)rYr�r�r"rirG)rYr�r�r.�-r�)rJr�rUr.rFrJ)rI��sr"rmr�)r.rr�rS�Ar#)rUr�rZrSr�r�)rUr�rJrSr�rV)rS�mr�r"r_�X)rSr�r#rSrOrH)rSrLr�r�r�r�)rUr�rJ)rSrbrZr"�{�c)r��Ir�rIrRrI)r�r�r�r$r�r�)rIr�r�rVrIrZ)r"�r�rSrsrg)r rRrIr"�Kr�)r"rKrCr�r�r�)r$rHrKr�r�r�)rSrn�xr"�r�)rTr�r�r.rQr�)r�rKrCr"r�r�)r$rHrKr�r�r�)rI��qr.rlr`)rIrQr�rU�Gr�)r�r�r�r.rPrC)rTr�rVrZr�rK)rIr�r�rSrsrg)rIr�r#rVr�rH)r�rLr�rSr�r�)r�r�r�r r�rZ)r.�r�r.r�r�)r�r�rH)r�rKrCrRr�r�)r�rIrZrRr�r�)r$��or��rj)r�rRrI)r�rLr�rZr�r�)rFr�rV)r.r�r�rS�rb)r.r�r�rKrorP)rUrLr�rKr�r�)rZr�r�rKrIrZ)rR�r�r.�ra)rRr�r�rKrRrI)rUrLr�rZr�r�)rErIrZr$r�r�)rYrqr]r.r�r�)rYr�r�rVrorP)r�rLr�rCr�r�)rCr�r�rVrIrZ)r rlr`r$�r�)r�rRrIr.r�r�)rJrKrCrRr�r�)r�rIrZr.r�r�)rYrrbr.�r�)rCr�r�rIrRrI)rY�5r�rDrLr�)rJr�r�rJrIrZ)rIrr�r rra)rIr�r�r�rRrI)r.rLr�r�r�r�)rUr�r�r�rIrZ)r�rmr�r�rr�)r�r�r�r�rRrI)r"r	r�r�rLr�)r�r�r�rDrIrZ)rSr�r�r rmr�)r�r�r�r rorP)r�rLr�r�r�r�)r�r�r�r�rIrZ)rVr�r�rIrmr�)r$rRrI�r�r�)rHrLr�r"r�r�)r�r�r�rJrIrZ)r�r�r�)r rRrIr�r�r�)r rLr�r�r�r�)r�r�r�r�rIrZ)r�r�r�r"rmr�)rKrRrIr�r�r�)r
rLr�r�r�r�)rUr�r�rIrIrZ)rVr�r�rRrmr�)rKrRrIr�r�r�)r�rLr�r�r�r�)r�rIrZr"r�r�)rJr�r�r�rrb)rJr�r�rDrorP)r�rLr�rKr�r�)rCr�r�r#rIrZ)rRr�r�rKrrb)rRr�r�rFrorP)rIrLr�r r�r�)r$r�r�rrIrZ)r�rrbr.rr�)r
rRrIrKr�r�)r�rLr�r r�r�)r�r�r�rIrIrZ)r.rrbr�rr�)rVrRrIrr�r�)rPrLr�rKr�r�)rHr�r�rrIrZ)r�rr�r.rra)r�r�r�r�rorP)r�rLr�rCr�r�)r r�r�r�rIrZ)r�rrarR��w)r�r�r�r�rorP)rFrLr�rFr�r�)r�r�r�r�rIrZc� �||_||_yr)rr�)r
rr�s   rrzQRRSBlock.__init__0s��$���"��rc�<�tj||�}|dk(rtd|zdz|z��t|�dz}g}t	|�D]N}||dzdz}||dzdz}||dzdz}t	|�D]}	|jt||����P|S)Nzbad rs block @ version:z/errorCorrectLevel:rIrr"r$)r��getRsBlockTablerrr:rw)
r4r��rsBlockr�r�r?r�rr�r�s
          rr�zQRRSBlock.getRSBlocks4s����+�+�G�5F�G���d�?��5��?�1�2�4E�F�G�
G��W���"�����v��	>�A��A��E�A�I�&�E� ��Q����+�J� ��Q����+�I��5�\�
>�����I�j�)�<�=�
>�		>��rc�|�|tjk(rtj|dz
dzdzS|tjk(rtj|dz
dzdzS|tj
k(rtj|dz
dzdzS|tjk(rtj|dz
dzdzSy)Nr"r.rr$rI)r3r4r��RS_BLOCK_TABLEr5r6r7)r4r�s  rrzQRRSBlock.getRsBlockTableDs���� 3� 5� 5�5��+�+�W�q�[�A�,=��,A�B�B�
�"5�"7�"7�
7��+�+�W�q�[�A�,=��,A�B�B�
�#6�#8�#8�
8��+�+�W�q�[�A�,=��,A�B�B�
�#6�#8�#8�
8��+�+�W�q�[�A�,=��,A�B�B�rN)rArBrCrrr1r�rrErrr�r�7s6��v�	�v�	�v�	�v�	�v�	�v�	�v�	�v� 	�!v�&	�'v�(	�)v�*	�+v�,	�-v�2	�3v�4	�5v�6	�7v�8	�9v�>	�?v�@	�Av�B	�Cv�D	�Ev�J	�Kv�L	�Mv�N	�Ov�P	�Qv�V	�Wv�X	�Yv�Z	�[v�\	�]v�b	�cv�d	�ev�f	�gv�h	�iv�n	�ov�p	�qv�r	�sv�t	�uv�z	�{v�|	�}v�~	�v�@	�Av�F	�Gv�H	�Iv�J	�Kv�L	�Mv�R	!�Sv�T	�Uv�V	�Wv�X	�Yv�^	�_v�`	�av�b	�cv�d	 �ev�j	#�kv�l	�mv�n	 �ov�p	 �qv�v	!�wv�x	�yv�z	�{v�|	�}v�B	!�Cv�D	�Ev�F	 �Gv�H	 �Iv�N	#�Ov�P	 �Qv�R	 �Sv�T	 �Uv�Z	#�[v�\	�]v�^	 �_v�`	 �av�f	#�gv�h	 �iv�j	 �kv�l	 �mv�r	#�sv�t	 �uv�v	 �wv�x	!�yv�~	#�v�@	�Av�B	 �Cv�D	 �Ev�J	#�Kv�L	�Mv�N	 �Ov�P	�Qv�V	#�Wv�X	 �Yv�Z	!�[v�\	!�]v�b	#�cv�d	 �ev�f	!�gv�h	 �iv�n	#�ov�p	 �qv�r	 �sv�t	!�uv�z	$�{v�|	 �}v�~	 �v�@	 �Av�F	#�Gv�H	 �Iv�J	 �Kv�L	!�Mv�R	$�Sv�T	 �Uv�V	 �Wv�X	!�Yv�^	#�_v�`	 �av�b	 �cv�d	!�ev�j	$�kv�l	!�mv�n	!�ov�p	!�qv�v	$�wv�x	 �yv�z	 �{v�|	!�}v�B	�Cv�D	!�Ev�F	!�Gv�H	!�Iv�N	$�Ov�P	!�Qv�R	!�Sv�T	!�Uv�Z	$�[v�\	!�]v�^	 �_v�`	 �av�f	$�gv�h	!�iv�j	!�kv�l	!�mv�r	$�sv�t	 �uv�v	!�wv�x	 �yv�~	$�v�@	!�Av�B	!�Cv�D	!�Ev�J	$�Kv�L	!�Mv�N	!�Ov�P	!�Qv�V	$�Wv�X	 �Yv�Z	!�[v�\	!�]v�b	$�cv�d	!�ev�f	!�gv�h	!�iv�N�p#��
��
��
��
rr�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)rc� �g|_d|_yr)r3r�rs rrzQRBitBuffer.__init__Rs�������rc�p�dj|jD�cgc]
}t|���c}�Scc}w)N�.)�joinr3r`)r
r>s  rr,zQRBitBuffer.__repr__Vs'���x�x����5�A��Q��5�6�6��5s�3c�H�|dz}|j|d|dzz
z	dzdk(S)NrYr�r")r3)r
r<�bufIndexs   rr"zQRBitBuffer.getYs1���A�:���+�+�h�'�A���	�M�:�q�@�Q�F�Frc�d�t|�D]"}|j|||z
dz
z	dzdk(��$yr�)r:r)r
r�r�r?s    rr0zQRBitBuffer.put]s:���v��	A�A��K�K�C�F�Q�J��N�3��9�a�?�@�	Arc��|jSr)r�rs rrzQRBitBuffer.getLengthInBitsas���{�{�rc��|jdz}t|j�|kr|jjd�|r'|j|xxd|jdzz	zcc<|xjdz
c_y)NrYrrr")r�rr3rw)r
rrs   rrzQRBitBuffer.putBitdse���;�;�!�#���t�{�{��x�'��K�K���q�!���K�K��!�d�t�{�{�Q��&?�A�!����q��rN)	rArBrCrr,r"r0rrrErrrrQs"���7�G�A��rr)rMr�rrr]�	NameErrorr`rrGrQrXrdr�r�r�r�r�r�r3r9r�r�r:r�r�r?r!r�r)r�s0r�<module>rs���0
��6�%���
3 �3 �j�r��������&+�b�+�Z2�b�2�l1�B�1�&#�R�#�&+�"�+��2��\�\�~
�
���m�m�^
�
��c�
�#�1�Q�#�	��c�
�#�1�Q�#�	�	�q���A���6�I�a�L��	�q�#��9�A��a�!�e�$�y��Q��'7�7��a�!�e�$�%�'0��Q��'7�8�I�a�L�9�
�s��!�A� �I�i��l��!�,�,�BX�X�t���k!6�5�5�����G���V
$��#s(�E�E)�<	E7�	E<�E&�)E4�3E4

Zerion Mini Shell 1.0