ó
    ùŠÂjÏB  ã                   ó¬  • S SK r S SKrS SKJrJrJr  S SKJr  SrSr	Sr
Sr\S\	S	\
S\S0r\S
\	S\
S\S0r\S\	S\
S\S
0rSr\R                   " S\R"                  " \5      -   S-   5      rSSSS.r/ / PSS/PSS/PSS/PSS/PSS/P/ SQP/ SQP/ SQP/ SQP/ SQP/ SQP/ S QP/ S!QP/ S"QP/ S#QP/ S$QP/ S%QP/ S&QP/ S'QP/ S(QP/ S)QP/ S*QP/ S+QP/ S,QP/ S-QP/ S.QP/ S/QP/ S0QP/ S1QP/ S2QP/ S3QP/ S4QP/ S5QP/ S6QP/ S7QP/ S8QP/ S9QP/ S:QP/ S;QPrS<rS=rS>rS?rS@rSA r\" S5       V Vs/ s H@  n S /\" SSB5       Vs/ s H$  nS\" \" \\R=                  X5      5      5      -  PM&     sn-   PMB     snn rSC r SD r!SE r"SF r#SG r$SH r%SI r&SJ r'SK r(SL r)SM r*SN r+SO r,S\SP jr-SQ r.SR r/SS r0 " ST SU5      r1 " SV SW5      r2SX\2SY\3\   4SZ jr4S[ r5gs  snf s  snn f )]é    N)ÚLUTÚbaseÚ
exceptions)ÚRSBlocké   é   é   é   é
   é	   é   é   é   é   é   s-   0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:s   ^[s   ]*\Zé   )é   r   r   é   é   é   é   é   é"   )r   r   é&   )r   é   é*   )r   r   é.   )r   é   é2   )r   r   é6   )r   é    é:   )r   r   é>   )r   r   r   éB   )r   r   é0   éF   )r   r   r   éJ   )r   r   r    éN   )r   r   é8   éR   )r   r   r"   éV   )r   r   r#   éZ   )r   r   r   éH   é^   )r   r   r   r'   éb   )r   r   r    r(   éf   )r   r   r    éP   éj   )r   r!   r"   éT   én   )r   r   r"   r+   ér   )r   r   r#   r,   év   )r   r   r   r'   r/   éz   )r   r   r    r(   r0   é~   )r   r   é4   r(   éh   é‚   )r   r   r)   r*   él   é†   )r   r   é<   r+   ép   éŠ   )r   r   r"   r+   r5   éŽ   )r   r   r#   r,   r6   é’   )r   r   r    r(   r0   r8   é–   )r   r   r   éL   r0   é€   éš   )r   r   r    r1   r2   é„   éž   )r   r!   r"   r3   r4   éˆ   é¢   )r   r   r    r*   r4   r@   é¦   )r   r   r"   r+   r5   rA   éª   i7  i%  iT  éì   é   c                 ó   • U R                   $ ©N©Ú
data_count)Úblocks    ÚA/var/www/website/venv/lib/python3.13/site-packages/qrcode/util.pyÚ_data_countrU   d   s   € Ø×ÑÐó    é)   c                 óô   • U S-  n[        U5      [        [        5      -
  S:¼  aF  U[        [        U5      [        [        5      -
  -  -  n[        U5      [        [        5      -
  S:¼  a  MF  U S-  U-  [        -  $ )Nr   r   )Ú	BCH_digitÚG15ÚG15_MASK©ÚdataÚds     rT   ÚBCH_type_infor_   r   si   € Ø�‰
€AÜ
�A‹,œ¤3›Ñ
'¨1Ó
,Ø	ŒS”Y˜q“\¤I¬c£NÑ2Ñ3Ñ3ˆô �A‹,œ¤3›Ñ
'¨1Õ
,ð �R‰Z˜1Ñ¤Ñ(Ð(rV   c                 óæ   • U S-  n[        U5      [        [        5      -
  S:¼  aF  U[        [        U5      [        [        5      -
  -  -  n[        U5      [        [        5      -
  S:¼  a  MF  U S-  U-  $ )Nr   r   )rY   ÚG18r\   s     rT   ÚBCH_type_numberrb   z   sb   € Ø�‰
€AÜ
�A‹,œ¤3›Ñ
'¨1Ó
,Ø	ŒS”Y˜q“\¤I¬c£NÑ2Ñ3Ñ3ˆô �A‹,œ¤3›Ñ
'¨1Õ
,à�B‰J˜!ÑÐrV   c                 ó:   • SnU S:w  a  US-  nU S-  n U S:w  a  M  U$ )Nr   r   © )r]   Údigits     rT   rY   rY   �   s0   € Ø€EØ
�!‹)Ø�‰
ˆØ�‰
ˆð �!�)ð €LrV   c                 ó   • [         U S-
     $ ©Nr   )ÚPATTERN_POSITION_TABLE©Úversions    rT   Úpattern_positionrk   ‰   s   € Ü! '¨A¡+Ñ.Ð.rV   c                 ó®   • U S:X  a  S $ U S:X  a  S $ U S:X  a  S $ U S:X  a  S $ U S	:X  a  S
 $ U S:X  a  S $ U S:X  a  S $ U S:X  a  S $ [        SU -   5      e)z6
Return the mask function for the given mask pattern.
r   c                 ó   • X-   S-  S:H  $ ©Nr   r   rd   ©ÚiÚjs     rT   Ú<lambda>Úmask_func.<locals>.<lambda>’   ó   € ˜Q™U a™K¨1Ò,rV   r   c                 ó   • U S-  S:H  $ rn   rd   ro   s     rT   rr   rs   ”   ó   € ˜A ™E QšJrV   r   c                 ó   • US-  S:H  $ ©Nr   r   rd   ro   s     rT   rr   rs   –   rv   rV   r   c                 ó   • X-   S-  S:H  $ rx   rd   ro   s     rT   rr   rs   ˜   rt   rV   r	   c                 ót   • [         R                  " U S-  5      [         R                  " US-  5      -   S-  S:H  $ ©Nr   r   r   )ÚmathÚfloorro   s     rT   rr   rs   š   s-   € œTŸZšZ¨¨A©Ó.´·²¸AÀ¹EÓ1BÑBÀaÑGÈ1ÒLrV   é   c                 ó&   • X-  S-  X-  S-  -   S:H  $ r{   rd   ro   s     rT   rr   rs   œ   s   € ˜Q™U a™K¨1©5°A©+Ñ5¸Ò:rV   r   c                 ó,   • X-  S-  X-  S-  -   S-  S:H  $ r{   rd   ro   s     rT   rr   rs   ž   ó   € ˜a™e q™[¨A©E°Q©;Ñ6¸!Ñ;¸qÒ@rV   r   c                 ó,   • X-  S-  X-   S-  -   S-  S:H  $ )Nr   r   r   rd   ro   s     rT   rr   rs       r�   rV   zBad mask pattern: )Ú	TypeError)Úpatterns    rT   Ú	mask_funcr…   �   s}   € ð �!ƒ|Ù,Ð,Ø�!ƒ|Ù&Ð&Ø�!ƒ|Ù&Ð&Ø�!ƒ|Ù,Ð,Ø�!ƒ|ÙLÐLØ�!ƒ|Ù:Ð:Ø�!ƒ|Ù@Ð@Ø�!ƒ|Ù@Ð@Ü
Ð(¨7Ñ2Ó
3Ð3rV   c                 ó>   • U S:  a  [         $ U S:  a  [        $ [        $ )Nr   é   )ÚMODE_SIZE_SMALLÚMODE_SIZE_MEDIUMÚMODE_SIZE_LARGEri   s    rT   Úmode_sizes_for_versionr‹   ¤   s"   € Ø�ƒ|ÜÐØ	�2‹ÜÐäÐrV   c                 ó†   • U [         [        [        [        4;  a  [	        SU  S35      e[        U5        [        U5      U    $ )NúInvalid mode (Ú))ÚMODE_NUMBERÚMODE_ALPHA_NUMÚMODE_8BIT_BYTEÚ
MODE_KANJIrƒ   Úcheck_versionr‹   )Úmoderj   s     rT   Úlength_in_bitsr•   ­   s?   € Ø”K¤´ÄÐLÓLÜ˜.¨¨¨aÐ0Ó1Ð1ä�'Ôä! 'Ó*¨4Ñ0Ð0rV   c                 ó:   • U S:  d  U S:”  a  [        SU  S35      eg )Nr   é(   zInvalid version (was z, expected 1 to 40))Ú
ValueErrorri   s    rT   r“   r“   ¶   s*   € Ø�ƒ{�g “lÜÐ0°°	Ð9LÐMÓNÐNð #rV   c                 óŠ   • [        U 5      nSn[        X5      nU[        X5      -  nU[        X5      -  nU[	        X5      -  nU$ ©Nr   )ÚlenÚ_lost_point_level1Ú_lost_point_level2Ú_lost_point_level3Ú_lost_point_level4)ÚmodulesÚmodules_countÚ
lost_points      rT   r¢   r¢   »   sP   € Ü˜“L€Mà€Jä# GÓ;€JØÔ$ WÓ<Ñ<€JØÔ$ WÓ<Ñ<€JØÔ$ WÓ<Ñ<€JàÐrV   c           	      óð  ^	• Sn[        U5      nS/US-   -  m	U HT  nX   nUS   nSnU H+  nXX   U:X  a  US-  nM  US:¼  a  T	U==   S-  ss'   SnXX   nM-     US:¼  d  MG  T	U==   S-  ss'   MV     U HY  nU S   U   nSnU H1  nX   U   U:X  a  US-  nM  US:¼  a  T	U==   S-  ss'   SnX   U   nM3     US:¼  d  ML  T	U==   S-  ss'   M[     U[        U	4S j[        SUS-   5       5       5      -  nU$ )Nr   r   r~   c              3   ó:   >#   • U  H  nTU   US -
  -  v •  M     g7f)r   Nrd   )Ú.0Úeach_lengthÚ	containers     €rT   Ú	<genexpr>Ú%_lost_point_level1.<locals>.<genexpr>ë   s&   øé € ð â6ˆKð 	�+Ñ +°¡/Ö2Ú6ùs   ƒ)ÚrangeÚsum)
r    r¡   r¢   Úmodules_rangeÚrowÚthis_rowÚprevious_colorÚlengthÚcolr§   s
            @rT   rœ   rœ   È   sP  ø€ Ø€Jä˜-Ó(€MØ��} qÑ(Ñ)€IãˆØ‘<ˆØ! !™ˆØˆÛ ˆCØ‰} Ó.Ø˜!‘’à˜Q“;Ø˜fÓ%¨Ñ*Ó%Ø�Ø!)¡’ñ !ð �Q�;Ø�fÓ Ñ"Õñ ó ˆØ  ™ C™ˆØˆÛ ˆCØ‰|˜CÑ  NÓ2Ø˜!‘’à˜Q“;Ø˜fÓ%¨Ñ*Ó%Ø�Ø!(¡¨cÑ!2’ñ !ð �Q�;Ø�fÓ Ñ"Õñ ð ”#ô ä   M°AÑ$5Ô6óó ñ €Jð
 ÐrV   c                 óè   • Sn[        US-
  5      nU H[  nX   nXS-      n[        U5      nU H<  nXXS-      n	X–US-      :w  a  [        US 5        M#  X•U   :w  a  M-  X–U   :w  a  M7  US-  nM>     M]     U$ )Nr   r   r   ©rª   ÚiterÚnext)
r    r¡   r¢   r¬   r­   r®   Únext_rowÚmodules_range_iterr±   Ú	top_rights
             rT   r�   r�   ó   s�   € Ø€Jä˜-¨!Ñ+Ó,€MÛˆØ‘<ˆØ ™7Ñ#ˆô " -Ó0ÐÛ%ˆCØ  q¡Ñ)ˆIØ S¨1¡WÑ-Ó-ô Ð'¨Ö.Ø s™mÓ+ÙØ s™mÓ+Ùà˜a‘’
ó &ñ ð( ÐrV   c                 óæ  • [        U5      n[        US-
  5      nSnU GH	  nX   n[        U5      nSnU Hî  nXhS-      (       dÅ  XhS-      (       a¹  XhS-      (       d­  XhS-      (       a¡  XhS-      (       d•  XhS-      (       a<  XhS-      (       a0  XhS	-      (       a$  XhS
-      (       d  XhS-      (       d  XhS-      (       aH  XhS-      (       dA  XhS-      (       d5  XhS	-      (       d)  XhS
-      (       a  XhS-      (       a  XhS-      (       a  US-  nXhS-      (       d  Mâ  [        US 5        Mð     GM     U GH>  n[        U5      nSnU GH&  nXS-      U   (       dõ  XS-      U   (       aæ  XS-      U   (       d×  XS-      U   (       aÈ  XS-      U   (       d¹  XS-      U   (       aK  XS-      U   (       a<  XS	-      U   (       a-  XS
-      U   (       d  XS-      U   (       d  XS-      U   (       aZ  XS-      U   (       dP  XS-      U   (       dA  XS	-      U   (       d2  XS
-      U   (       a#  XS-      U   (       a  XS-      U   (       a  US-  nXS-      U   (       d  GM  [        US 5        GM)     GMA     U$ )Nr   r   r   r	   r~   r   r   r   r   r   r
   r—   r³   )	r    r¡   r¬   Úmodules_range_shortr¢   r­   r®   Úmodules_range_short_iterr±   s	            rT   rž   rž     sw  € ô
 ˜-Ó(€MÜ °Ñ 2Ó3ÐØ€JäˆØ‘<ˆÜ#'Ð(;Ó#<Ð ØˆÛ+ˆCà 1™W×%Ø 1™W×%Ø  q¡×)Ø 1™W×%Ø  q¡×)à 1™W×%Ø  q¡×)Ø  q¡×)Ø$¨1¡W×-Ø$¨1¡W×-Ø$¨2¡X×.Ø#¨!¡G×,Ø$¨1¡W×-Ø$¨1¡W×-Ø  q¡×)Ø  q¡×)Ø  r¡×*ð ˜bÑ �
ð ˜b™×!Ñ!ÜÐ-¨tÖ4ô; ,ñ	 ôF ˆÜ#'Ð(;Ó#<Ð ØˆÜ+ˆCà !™GÑ$ S×)Ø !™GÑ$ S×)Ø a¡Ñ(¨×-Ø !™GÑ$ S×)Ø a¡Ñ(¨×-à !™GÑ$ S×)Ø a¡Ñ(¨×-Ø a¡Ñ(¨×-Ø#¨!¡GÑ,¨S×1Ø#¨!¡GÑ,¨S×1Ø#¨"¡HÑ-¨c×2Ø"¨¡7Ñ+¨C×0Ø#¨!¡GÑ,¨S×1Ø#¨!¡GÑ,¨S×1Ø a¡Ñ(¨×-Ø a¡Ñ(¨×-Ø b¡Ñ)¨#×.ð ˜bÑ �
Ø˜R‘xÑ  ×%Ò%ÜÐ-¨t×4ô1 ,ñ ð: ÐrV   c                 óš   • [        [        [         U 5      5      n[        U5      US-  -  n[        [	        US-  S-
  5      S-  5      nUS-  $ )Nr   éd   r   r~   r   )r«   ÚmapÚfloatÚintÚabs)r    r¡   Ú
dark_countÚpercentÚratings        rT   rŸ   rŸ   Z  sN   € Ü”Sœ˜gÓ&Ó'€JÜ�JÓ =°!Ñ#3Ñ4€Gä”�W˜s‘] RÑ'Ó(¨1Ñ,Ó-€FØ�B‰;ÐrV   c              #   ó\  #   • [        U 5      n SnS[        R                  " [        5      -   S-   n[	        U 5      U::  a9  [        R
                  " SU-   S-   5      n[        R
                  " SU-   S-   5      nOPS[        U5      R                  S5      -   S-   n[        R
                  " X$-   5      n[        R
                  " X4-   5      n[        X5      nU HR  u  pgU(       a  [        U[        S	S
9v •  M  [        Xs5       H$  u  p‰U(       a  [        O[        n
[        XšS	S
9v •  M&     MT     g7f)z�
An iterator returning QRData chunks optimized to the data content.

:param minimum: The minimum number of bytes in a row to split as a chunk.
s   \dó   [ó   ]ó   ^s   +$ó   {Úasciis   ,}F)r”   Ú
check_dataN)Úto_bytestringÚreÚescapeÚ	ALPHA_NUMr›   ÚcompileÚstrÚencodeÚ_optimal_splitÚQRDatar�   r�   r‘   )r]   ÚminimumÚnum_patternÚalpha_patternÚ	re_repeatÚnum_bitsÚis_numÚchunkÚis_alphaÚ	sub_chunkr”   s              rT   Úoptimal_data_chunksrÞ   b  sû   é € ô ˜Ó€DØ€KØœ2Ÿ9š9¤YÓ/Ñ/°$Ñ6€MÜ
ˆ4ƒy�GÓÜ—j’j ¨Ñ!3°eÑ!;Ó<ˆÜŸ
š
 4¨-Ñ#7¸%Ñ#?Ó@‰àœ3˜w›<×.Ñ.¨wÓ7Ñ7¸%Ñ?ˆ	Ü—j’j Ñ!8Ó9ˆÜŸ
š
 =Ñ#<Ó=ˆÜ˜dÓ0€HÛ!‰ˆÞÜ˜¤[¸UÑCÔCä'5°eÖ'KÑ#�Þ)1•~´~�Ü˜Y¸eÑDÔDó (Lò	 "ùs   ‚D*D,c              #   óú   #   • U (       ab  [         R                  " X5      nU(       d  ODUR                  5       UR                  5       pCU(       a	  SU S U 4v •  SXU 4v •  XS  n U (       a  Mb  U (       a  SU 4v •  g g 7f)NFT)rÍ   ÚsearchÚstartÚend)r]   r„   Úmatchrá   râ   s        rT   rÓ   rÓ   |  sv   é € Þ
Ü—	’	˜'Ó(ˆÞØØ—[‘[“] E§I¡I£KˆsÞØ˜˜f˜u˜Ð%Ò%Ø�D˜s�OÐ#Ò#Ø�Dˆzˆ÷ ˆ$ö Ø�TˆkÓð ùs   ‚A(A;Á,A;c                 ód   • [        U [        5      (       d  [        U 5      R                  S5      n U $ )zR
Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string
already.
zutf-8)Ú
isinstanceÚbytesrÑ   rÒ   ©r]   s    rT   rÌ   rÌ   Š  s*   € ô
 �dœE×"Ñ"Ü�4‹y×Ñ Ó(ˆØ€KrV   c                 ó„   • U R                  5       (       a  [        $ [        R                  U 5      (       a  [        $ [
        $ )z4
Calculate the optimal mode for this chunk of data.
)Úisdigitr�   ÚRE_ALPHA_NUMrã   r�   r‘   rç   s    rT   Úoptimal_moderë   ”  s2   € ð ‡|�|‡~�~ÜÐÜ×Ñ˜$×ÑÜÐÜÐrV   c                   ó4   • \ rS rSrSrS	S jrS rS rS rSr	g)
rÔ   iŸ  zG
Data held in a QR compatible format.

Doesn't currently handle KANJI.
Nc                 óø   • U(       a  [        U5      nUc  [        U5      U l        ONX l        U[        [        [
        4;  a  [        SU S35      eU(       a  U[        U5      :  a  [        SU 35      eXl        g)zO
If ``mode`` isn't provided, the most compact QR data type possible is
chosen.
Nr�   rŽ   z-Provided data can not be represented in mode )	rÌ   rë   r”   r�   r�   r‘   rƒ   r˜   r]   )Úselfr]   r”   rË   s       rT   Ú__init__ÚQRData.__init__¦  ss   € ö
 Ü  Ó&ˆDà‰<Ü$ TÓ*ˆD�IàŒIØœK¬¼ÐHÓHÜ .°°°aÐ 8Ó9Ð9Þ˜d¤\°$Ó%7Ó7Ü Ð#PÐQUÐPVÐ!WÓXÐXà�	rV   c                 ó,   • [        U R                  5      $ rP   )r›   r]   ©rî   s    rT   Ú__len__ÚQRData.__len__¹  s   € Ü�4—9‘9‹~ÐrV   c                 óÔ  • U R                   [        :X  af  [        S[        U R                  5      S5       HA  nU R                  X"S-    n[
        [        U5         nUR                  [        U5      U5        MC     g U R                   [        :X  a³  [        S[        U R                  5      S5       HŽ  nU R                  X"S-    n[        U5      S:”  aF  UR                  [        R                  US   5      S-  [        R                  US   5      -   S5        Mi  UR                  [        R                  U5      S5        M�     g U R                  nU H  nUR                  US5        M     g )	Nr   r   r   r   é-   r   r   r
   )r”   r�   rª   r›   r]   ÚNUMBER_LENGTHÚputrÀ   r�   rÏ   Úfind)rî   Úbufferrp   ÚcharsÚ
bit_lengthr]   Úcs          rT   ÚwriteÚQRData.write¼  s  € Ø�9‰9œÓ#Ü˜1œc $§)¡)›n¨aÖ0�ØŸ	™	 !¨!¡eÐ,�Ü*¬3¨u«:Ñ6�
Ø—
‘
œ3˜u›: zÖ2ò 1ð �Y‰Yœ.Ó(Ü˜1œc $§)¡)›n¨aÖ0�ØŸ	™	 !¨!¡eÐ,�Ü�u“: “>Ø—J‘JÜ!Ÿ™ u¨Q¡xÓ0°2Ñ5¼	¿¹ÀuÈQÁxÓ8PÑPÐRTöð —J‘JœyŸ~™~¨eÓ4°aÖ8ò 1ð —9‘9ˆDÛ�Ø—
‘
˜1˜aÖ ò rV   c                 ó,   • [        U R                  5      $ rP   )Úreprr]   rò   s    rT   Ú__repr__ÚQRData.__repr__Ò  s   € Ü�D—I‘I‹ÐrV   )r]   r”   )NT)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rï   ró   rþ   r  Ú__static_attributes__rd   rV   rT   rÔ   rÔ   Ÿ  s   † ñôò&ò!õ,rV   rÔ   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
Ú	BitBufferiÖ  c                 ó    • / U l         SU l        g rš   ©rú   r°   rò   s    rT   rï   ÚBitBuffer.__init__×  s   € Ø!#ˆŒØˆ�rV   c                 óv   • SR                  U R                   Vs/ s H  n[        U5      PM     sn5      $ s  snf )NÚ.)Újoinrú   rÑ   )rî   Úns     rT   r  ÚBitBuffer.__repr__Û  s+   € Ø�x‰x¨¯ªÓ5ª Aœ˜Qž©Ñ5Ó6Ð6ùÒ5s   š6c                 óp   • [         R                  " US-  5      nU R                  U   SUS-  -
  -	  S-  S:H  $ )Nr
   r   r   )r|   r}   rú   )rî   ÚindexÚ	buf_indexs      rT   ÚgetÚBitBuffer.getÞ  s:   € Ü—J’J˜u q™yÓ)ˆ	Ø—‘˜YÑ'¨A°¸±	©MÑ:¸aÑ?ÀAÑEÐErV   c                 óf   • [        U5       H"  nU R                  XU-
  S-
  -	  S-  S:H  5        M$     g rg   )rª   Úput_bit)rî   Únumr°   rp   s       rT   rø   ÚBitBuffer.putâ  s1   € Ü�v–ˆAØ�L‰L˜3¨A¡:°¡>Ñ2°aÑ7¸AÑ=Ö>ò rV   c                 ó   • U R                   $ rP   )r°   rò   s    rT   ró   ÚBitBuffer.__len__æ  s   € Ø�{‰{ÐrV   c                 ó  • U R                   S-  n[        U R                  5      U::  a  U R                  R                  S5        U(       a'  U R                  U==   SU R                   S-  -	  -  ss'   U =R                   S-  sl         g )Nr
   r   rE   r   )r°   r›   rú   Úappend)rî   Úbitr  s      rT   r  ÚBitBuffer.put_bité  se   € Ø—K‘K 1Ñ$ˆ	Üˆt�{‰{Ó˜yÓ(Ø�K‰K×Ñ˜qÔ!ÞØ�K‰K˜	Ó" d¨t¯{©{¸Q©Ñ&?Ñ?Ó"Ø�Š�qÑŽrV   r  N)r  r  r  r  rï   r  r  rø   ró   r  r	  rd   rV   rT   r  r  Ö  s!   † òò7òFò?òõrV   r  rú   Ú	rs_blocksc           	      óH  • SnSnSn/ n/ nU GH‰  nUR                   nUR                  U-
  n	[        X85      n[        XI5      n[        U5       V
s/ s H  n
SU R                  X¢-      -  PM     nn
X(-  nU	[
        R                  ;   a)  [        R                  " [
        R                  U	   S5      nOZ[        R                  " S/S5      n[        U	5       H3  n
U[        R                  " S[        R                  " U
5      /S5      -  nM5     [        R                  " U[        U5      S-
  5      nXÜ-  n/ n[        U5      U	-
  n[        U	5       H$  n
U
U-   nUR                  US:¼  a  UU   OS5        M&     UR                  U5        UR                  U5        GMŒ     / n[        U5       H1  n
U H(  nU
[        U5      :  d  M  UR                  UU
   5        M*     M3     [        U5       H1  n
U H(  nU
[        U5      :  d  M  UR                  UU
   5        M*     M3     U$ s  sn
f )Nr   éÿ   r   )rR   Útotal_countÚmaxrª   rú   r   Ú
rsPoly_LUTr   Ú
PolynomialÚgexpr›   r   )rú   r#  ÚoffsetÚ
maxDcCountÚ
maxEcCountÚdcdataÚecdataÚrs_blockÚdcCountÚecCountrp   Ú
current_dcÚrsPolyÚrawPolyÚmodPolyÚ
current_ecÚ
mod_offsetÚmodIndexr]   ÚdcÚecs                        rT   Úcreate_bytesr<  ò  sí  € Ø€Fà€JØ€Jà €FØ €FäˆØ×%Ñ%ˆØ×&Ñ&¨Ñ0ˆä˜Ó-ˆ
Ü˜Ó-ˆ
ä@EÀgÄÓOÂ¸1�d˜VŸ]™]¨1©:Ñ6Ô6Áˆ
ÐOØÑˆð ”c—n‘nÓ$Ü—_’_¤S§^¡^°GÑ%<¸aÓ@‰Fä—_’_ a S¨!Ó,ˆFÜ˜7–^�Ø¤$§/¢/°1´d·i²iÀ³lÐ2CÀQÓ"GÑG’ñ $ô —/’/ *¬c°&«k¸A©oÓ>ˆàÑ"ˆØˆ
Ü˜“\ GÑ+ˆ
Ü�w–ˆAØ˜:‘~ˆHØ×Ñ°HÀ³M˜g hÒ/ÈÖJñ  ð 	�‰�jÔ!Ø�‰�j×!ñ9 ð< €DÜ�:ÖˆÛˆBØ”3�r“7�{Ø—‘˜B˜q™EÖ"ó ñ ô �:ÖˆÛˆBØ”3�r“7�{Ø—‘˜B˜q™EÖ"ó ñ ð
 €KùòC Ps   ÁHc                 óP  • [        5       nU H_  nUR                  UR                  S5        UR                  [        U5      [	        UR                  U 5      5        UR                  U5        Ma     [        R                  " X5      n[        S U 5       5      n[        U5      U:”  a(  [        R                  " S[        U5      < SU< S35      e[        [        U[        U5      -
  S5      5       H  nUR                  S5        M     [        U5      S-  nU(       a&  [        SU-
  5       H  nUR                  S5        M     U[        U5      -
  S-  n	[        U	5       H:  n
U
S-  S	:X  a  UR                  [        S5        M$  UR                  [        S5        M<     [!        X55      $ )
Nr	   c              3   ó>   #   • U  H  oR                   S -  v •  M     g7f)r
   NrQ   )r¥   rS   s     rT   r¨   Úcreate_data.<locals>.<genexpr>/  s   é € Ð@²i¨U×$Ñ$ qÖ(²iùs   ‚z!Code length overflow. Data size (z) > size available (rŽ   Fr
   r   r   )r  rø   r”   r›   r•   rþ   r   r#  r«   r   ÚDataOverflowErrorrª   Úminr  ÚPAD0ÚPAD1r<  )rj   Úerror_correctionÚ	data_listrú   r]   r#  Ú	bit_limitÚ_ÚdelimitÚbytes_to_fillrp   s              rT   Úcreate_datarJ  &  sQ  € Ü‹[€FÛˆØ�
‰
�4—9‘9˜aÔ Ø�
‰
”3�t“9œn¨T¯Y©Y¸Ó@ÔAØ�
‰
�6Öñ ô —’˜wÓ9€IÜÑ@±iÓ@Ó@€IÜ
ˆ6ƒ{�YÓÜ×*Ó*ä�6Ž{›Ið'ó
ð 	
ô ”3�y¤3 v£;Ñ.°Ó2Ö3ˆØ�‰�uÖñ 4ô �&‹k˜A‰o€GÞÜ�q˜7‘{Ö#ˆAØ�N‰N˜5Ö!ñ $ð ¤ V£Ñ,°Ñ2€MÜ�=Ö!ˆØˆq‰5�A‹:Ø�J‰J”t˜QÖà�J‰J”t˜QÖñ	 "ô ˜Ó*Ð*rV   )r	   )6r|   rÍ   Úqrcoder   r   r   Úqrcode.baser   r�   r�   r‘   r’   rˆ   r‰   rŠ   rÏ   rÐ   rÎ   rê   r÷   rh   rZ   ra   r[   rB  rC  rU   rª   r«   r¾   r#  ÚBIT_LIMIT_TABLEr_   rb   rY   rk   r…   r‹   r•   r“   r¢   rœ   r�   rž   rŸ   rÞ   rÓ   rÌ   rë   rÔ   r  Úlistr<  rJ  )rD  rj   s   00rT   Ú<module>rO     sŸ  ðÛ Û 	ç (Ñ (Ý ð €Ø€Ø€Ø€
ð �Ø�AØ�AØ�ð	€ð �Ø�BØ�BØ�ð	Ð ð �Ø�BØ�BØ�ð	€ð =€	Ø�zŠz˜% "§)¢)¨IÓ"6Ñ6¸ÑAÓB€ð ˜1 Ñ#€ð)Øð)àˆ€Gð)ð ˆ€Gð)ð ˆ€Gð	)ð
 ˆ€Gð)ð ˆ€Gð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò ð)ò  ð!)ò" ð#)ò$ ð%)ò& ð')ò( ð))ò* ð+)ò, ð-)ò. ð/)ò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 R€ðð ð C€à€Ø€òñ " !œHôò %Ðð €Cñ ˜Q ”|óâ#ˆGð 	
‰C‘�K §¡°Ó!JÓKÓLÔLÙ#ñôñ
 %ò€ò)òòò/ò4ò.ò1òOò

ò(òVò6IòXôEò4òò÷4ñ 4÷nñ ð81˜ð 1¨t°G©}ô 1óh"+ùòyùós   Ä'GÄ:+GÅ%	GÇG