§
    ±eîièB  ã                   ó(  — d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	 dZ
dZdZdZe
d	ed
edediZe
dededed	iZe
dededediZdZ ej        d ej        e¦  «        z   dz   ¦  «        Zd	dddœZg g ‘ddg‘ddg‘ddg‘ddg‘ddg‘g d¢‘g d¢‘g d¢‘g d¢‘g d¢‘g d ¢‘g d!¢‘g d"¢‘g d#¢‘g d$¢‘g d%¢‘g d&¢‘g d'¢‘g d(¢‘g d)¢‘g d*¢‘g d+¢‘g d,¢‘g d-¢‘g d.¢‘g d/¢‘g d0¢‘g d1¢‘g d2¢‘g d3¢‘g d4¢‘g d5¢‘g d6¢‘g d7¢‘g d8¢‘g d9¢‘g d:¢‘g d;¢‘g d<¢‘Zd=Zd>Zd?Zd@ZdAZdB„ ZdC„  ed¦  «        D ¦   «         ZdD„ ZdE„ Z dF„ Z!dG„ Z"dH„ Z#dI„ Z$dJ„ Z%dK„ Z&dL„ Z'dM„ Z(dN„ Z)dO„ Z*dP„ Z+d]dQ„Z,dR„ Z-dS„ Z.dT„ Z/ G dU„ dV¦  «        Z0 G dW„ dX¦  «        Z1dYe1dZee	         fd[„Z2d\„ Z3dS )^é    N)ÚList)Ú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(   r0   éz   )r   r   r!   r)   r1   é~   )r   r   é4   r)   éh   é‚   )r   r   r*   r+   él   é†   )r   r   é<   r,   ép   éŠ   )r   r   r#   r,   r6   éŽ   )r   r   r$   r-   r7   é’   )r   r   r!   r)   r1   r9   é–   )r   r   r    éL   r1   é€   éš   )r   r   r!   r2   r3   é„   éž   )r   r"   r#   r4   r5   éˆ   é¢   )r   r   r!   r+   r5   rA   é¦   )r   r   r#   r,   r6   rB   éª   i7  i%  iT  éì   é   c                 ó   — | j         S ©N©Ú
data_count)Úblocks    úO/home/div/.hermes/hermes-agent/venv/lib/python3.11/site-packages/qrcode/util.pyÚ_data_countrV   e   s   € ØÔÐó    c                 óP   ‡— g | ]"Šd gˆfd„t          dd¦  «        D ¦   «         z   ‘Œ#S )r   c                 ó€   •— g | ]:}d t          t          t          t          j        |‰¦  «        ¦  «        ¦  «        z  ‘Œ;S )r   )ÚsumÚmaprV   r   Ú	rs_blocks)Ú.0ÚversionÚerror_corrections     €rU   ú
<listcomp>z<listcomp>.<listcomp>k   sM   ø€ ð ð ð àð 	
�C••K¥¤°Ð9IÑ!JÔ!JÑKÔKÑLÔLÑLðð ð rW   r   é)   )Úrange)r]   r_   s    @rU   r`   r`   i   s`   ø€ ð ð ð ð 	ð €Cðð ð ð å˜Q ‘|”|ðñ ô ñðð ð rW   c                 ó*  — | dz  }t          |¦  «        t          t          ¦  «        z
  dk    rW|t          t          |¦  «        t          t          ¦  «        z
  z  z  }t          |¦  «        t          t          ¦  «        z
  dk    °W| dz  |z  t          z  S )Nr   r   )Ú	BCH_digitÚG15ÚG15_MASK©ÚdataÚds     rU   ÚBCH_type_inforj   s   s{   € Ø�‰
€AÝ
�A‰,Œ,�¥3™œÑ
'¨1Ò
,Ð
,Ø	�S•Y˜q‘\”\¥I­c¡N¤NÑ2Ñ3Ñ3ˆõ �A‰,Œ,�¥3™œÑ
'¨1Ò
,Ð
,ð �R‰Z˜1Ñ¥Ñ(Ð(rW   c                 ó  — | dz  }t          |¦  «        t          t          ¦  «        z
  dk    rW|t          t          |¦  «        t          t          ¦  «        z
  z  z  }t          |¦  «        t          t          ¦  «        z
  dk    °W| dz  |z  S )Nr   r   )rd   ÚG18rg   s     rU   ÚBCH_type_numberrm   {   st   € Ø�‰
€AÝ
�A‰,Œ,�¥3™œÑ
'¨1Ò
,Ð
,Ø	�S•Y˜q‘\”\¥I­c¡N¤NÑ2Ñ3Ñ3ˆõ �A‰,Œ,�¥3™œÑ
'¨1Ò
,Ð
,à�B‰J˜!ÑÐrW   c                 ó6   — d}| dk    r|dz  }| dz  } | dk    °|S )Nr   r   © )rh   Údigits     rU   rd   rd   ‚   s4   € Ø€EØ
�!Š)ˆ)Ø�‰
ˆØ�‰
ˆð �!Š)ˆ)ð €LrW   c                 ó"   — t           | dz
           S ©Nr   )ÚPATTERN_POSITION_TABLE©r^   s    rU   Úpattern_positionru   Š   s   € Ý! '¨A¡+Ô.Ð.rW   c                 ó¶   — | dk    rd„ S | dk    rd„ S | dk    rd„ S | dk    rd„ S | d	k    rd
„ S | dk    rd„ S | dk    rd„ S | dk    rd„ S t          d| z   ¦  «        ‚)z>
    Return the mask function for the given mask pattern.
    r   c                 ó   — | |z   dz  dk    S ©Nr	   r   ro   ©ÚiÚjs     rU   ú<lambda>zmask_func.<locals>.<lambda>“   ó   € ˜Q ™U a™K¨1Ò,€ rW   r   c                 ó   — | dz  dk    S rx   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>•   ó   € ˜A ™E QšJ€ rW   r	   c                 ó   — |dz  dk    S ©Nr   r   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>—   r   rW   r   c                 ó   — | |z   dz  dk    S r�   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>™   r}   rW   r
   c                 ón   — t          j        | dz  ¦  «        t          j        |dz  ¦  «        z   dz  dk    S ©Nr	   r   r   )ÚmathÚfloorry   s     rU   r|   zmask_func.<locals>.<lambda>›   s1   € �TœZ¨¨A©Ñ.Ô.µ´¸AÀ¹EÑ1BÔ1BÑBÀaÑGÈ1ÒL€ rW   é   c                 ó,   — | |z  dz  | |z  dz  z   dk    S r„   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>�   s    € ˜Q ™U a™K¨1¨q©5°A©+Ñ5¸Ò:€ rW   r   c                 ó2   — | |z  dz  | |z  dz  z   dz  dk    S r„   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>Ÿ   ó%   € ˜a !™e q™[¨A°©E°Q©;Ñ6¸!Ñ;¸qÒ@€ rW   r   c                 ó2   — | |z  dz  | |z   dz  z   dz  dk    S )Nr   r	   r   ro   ry   s     rU   r|   zmask_func.<locals>.<lambda>¡   rŠ   rW   zBad mask pattern: )Ú	TypeError)Úpatterns    rU   Ú	mask_funcrŽ   Ž   s¨   € ð �!‚|€|Ø,Ð,Ð,Ø�!‚|€|Ø&Ð&Ð&Ø�!‚|€|Ø&Ð&Ð&Ø�!‚|€|Ø,Ð,Ð,Ø�!‚|€|ØLÐLÐLØ�!‚|€|Ø:Ð:Ð:Ø�!‚|€|Ø@Ð@Ð@Ø�!‚|€|Ø@Ð@Ð@Ý
Ð(¨7Ñ2Ñ
3Ô
3Ð3rW   c                 óD   — | dk     rt           S | dk     rt          S t          S )Nr   é   )ÚMODE_SIZE_SMALLÚMODE_SIZE_MEDIUMÚMODE_SIZE_LARGErt   s    rU   Úmode_sizes_for_versionr”   ¥   s&   € Ø�‚|€|ÝÐØ	�2ŠˆÝÐåÐrW   c                 ó¨   — | t           t          t          t          fvrt	          d| › d�¦  «        ‚t          |¦  «         t          |¦  «        |          S )NúInvalid mode (ú))ÚMODE_NUMBERÚMODE_ALPHA_NUMÚMODE_8BIT_BYTEÚ
MODE_KANJIrŒ   Úcheck_versionr”   )Úmoder^   s     rU   Úlength_in_bitsrž   ®   sQ   € Ø•K¥µÅÐLÐLÐLÝÐ0¨Ð0Ð0Ð0Ñ1Ô1Ð1å�'ÑÔÐå! 'Ñ*Ô*¨4Ô0Ð0rW   c                 óD   — | dk     s| dk    rt          d| › d�¦  «        ‚d S )Nr   é(   zInvalid version (was z, expected 1 to 40))Ú
ValueErrorrt   s    rU   rœ   rœ   ·   s4   € Ø�‚{€{�g ’l�lÝÐM°ÐMÐMÐMÑNÔNÐNð #�lrW   c                 óº   — t          | ¦  «        }d}t          | |¦  «        }|t          | |¦  «        z  }|t          | |¦  «        z  }|t	          | |¦  «        z  }|S ©Nr   )ÚlenÚ_lost_point_level1Ú_lost_point_level2Ú_lost_point_level3Ú_lost_point_level4)ÚmodulesÚmodules_countÚ
lost_points      rU   r«   r«   ¼   sf   € Ý˜‘L”L€Mà€Jå# G¨]Ñ;Ô;€JØÕ$ W¨mÑ<Ô<Ñ<€JØÕ$ W¨mÑ<Ô<Ñ<€JØÕ$ W¨mÑ<Ô<Ñ<€JàÐrW   c           	      ó>  ‡	— d}t          |¦  «        }dg|dz   z  Š	|D ]a}| |         }|d         }d}|D ]4}||         |k    r|dz  }Œ|dk    r‰	|xx         dz  cc<   d}||         }Œ5|dk    r‰	|xx         dz  cc<   Œb|D ]k}| d         |         }d}|D ]@}| |         |         |k    r|dz  }Œ|dk    r‰	|xx         dz  cc<   d}| |         |         }ŒA|dk    r‰	|xx         dz  cc<   Œl|t          ˆ	fd„t          d|dz   ¦  «        D ¦   «         ¦  «        z  }|S )Nr   r   r‡   c              3   ó4   •K  — | ]}‰|         |d z
  z  V — ŒdS )r	   Nro   )r]   Úeach_lengthÚ	containers     €rU   ú	<genexpr>z%_lost_point_level1.<locals>.<genexpr>ì   sE   øè è € ð ð àð 	�+Ô +°¡/Ñ2ðð ð ð ð ð rW   )rb   rZ   )
r©   rª   r«   Úmodules_rangeÚrowÚthis_rowÚprevious_colorÚlengthÚcolr¯   s
            @rU   r¥   r¥   É   sÒ  ø€ Ø€Jå˜-Ñ(Ô(€MØ��} qÑ(Ñ)€Iàð #ð #ˆØ˜3”<ˆØ! !œˆØˆØ ð 	/ð 	/ˆCØ˜Œ} Ò.Ð.Ø˜!‘��à˜Q’;�;Ø˜fÐ%Ð%Ô%¨Ñ*Ð%Ð%Ñ%Ø�Ø!)¨#¤��Ø�QŠ;ˆ;Ø�fÐÐÔ Ñ"ÐÐÑøàð #ð #ˆØ  œ CœˆØˆØ ð 	3ð 	3ˆCØ�sŒ|˜CÔ  NÒ2Ð2Ø˜!‘��à˜Q’;�;Ø˜fÐ%Ð%Ô%¨Ñ*Ð%Ð%Ñ%Ø�Ø!(¨¤¨cÔ!2��Ø�QŠ;ˆ;Ø�fÐÐÔ Ñ"ÐÐÑøà•#ð ð ð ð å   M°AÑ$5Ñ6Ô6ðñ ô ñ ô ñ €Jð
 ÐrW   c                 ó  — d}t          |dz
  ¦  «        }|D ]s}| |         }| |dz            }t          |¦  «        }|D ]L}||dz            }	|	||dz            k    rt          |d ¦  «         Œ-|	||         k    rŒ:|	||         k    rŒG|dz  }ŒMŒt|S )Nr   r   r   ©rb   ÚiterÚnext)
r©   rª   r«   r±   r²   r³   Únext_rowÚmodules_range_iterr¶   Ú	top_rights
             rU   r¦   r¦   ô   sÒ   € Ø€Jå˜-¨!Ñ+Ñ,Ô,€MØð  ð  ˆØ˜3”<ˆØ˜3 ™7Ô#ˆõ " -Ñ0Ô0ÐØ%ð 	 ð 	 ˆCØ   q¡Ô)ˆIØ˜H S¨1¡WÔ-Ò-Ð-õ Ð'¨Ñ.Ô.Ð.Ð.Ø˜h sœmÒ+Ð+ØØ˜h sœmÒ+Ð+Øà˜a‘�
�
ð	 ð ÐrW   c                 ó  — t          |¦  «        }t          |dz
  ¦  «        }d}|D ]û}| |         }t          |¦  «        }d}|D ]Ý}||dz            sµ||dz            rª||dz            sŸ||dz            r”||dz            s‰||dz            r7||dz            r,||d	z            r!||d
z            s||dz            s||dz            rB||dz            s<||dz            s1||d	z            s&||d
z            r||dz            r||dz            r|dz  }||dz            rt          |d ¦  «         ŒÞŒü|D �]d}t          |¦  «        }d}|D �]L}| |dz            |         �s| |dz            |         �r| |dz            |         só| |dz            |         râ| |dz            |         sÑ| |dz            |         rU| |dz            |         rD| |d	z            |         r3| |d
z            |         s"| |dz            |         s| |dz            |         rf| |dz            |         sZ| |dz            |         sI| |d	z            |         s8| |d
z            |         r'| |dz            |         r| |dz            |         r|dz  }| |dz            |         rt          |d ¦  «         �ŒN�Œf|S )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	            rU   r§   r§     sâ  € õ
 ˜-Ñ(Ô(€MÝ °Ñ 2Ñ3Ô3ÐØ€Jàð !5ð !5ˆØ˜3”<ˆÝ#'Ð(;Ñ#<Ô#<Ð ØˆØ+ð 	5ð 	5ˆCà˜S 1™WÔ%ð!à˜S 1™WÔ%ð!ð !  q¡Ô)ð!ð ˜S 1™WÔ%ð	!ð
 !  q¡Ô)ð!ð ˜S 1™WÔ%ð!ð !  q¡Ô)ð!ð !  q¡Ô)ð!ð % S¨1¡WÔ-ð!ð % S¨1¡WÔ-ð!ð % S¨2¡XÔ.ð!ð $ C¨!¡GÔ,ð!ð % S¨1¡WÔ-ð!ð % S¨1¡WÔ-ð!ð  !  q¡Ô)ð!!ð" !  q¡Ô)ð#!ð$ !  r¡Ô*ð%!ð* ˜bÑ �
ð ˜˜b™Ô!ð 5ÝÐ-¨tÑ4Ô4Ð4øð;	5ð> ð 5ñ 5ˆÝ#'Ð(;Ñ#<Ô#<Ð ØˆØ+ð 	5ñ 	5ˆCà˜C !™GÔ$ SÔ)ñ!à˜C !™GÔ$ SÔ)ñ!ð    a¡Ô(¨Ô-ð!ð ˜C !™GÔ$ SÔ)ð	!ð
    a¡Ô(¨Ô-ð!ð ˜C !™GÔ$ SÔ)ð!ð    a¡Ô(¨Ô-ð!ð    a¡Ô(¨Ô-ð!ð $ C¨!¡GÔ,¨SÔ1ð!ð $ C¨!¡GÔ,¨SÔ1ð!ð $ C¨"¡HÔ-¨cÔ2ð!ð # 3¨¡7Ô+¨CÔ0ð!ð $ C¨!¡GÔ,¨SÔ1ð!ð $ C¨!¡GÔ,¨SÔ1ð!ð     a¡Ô(¨Ô-ð!!ð"    a¡Ô(¨Ô-ð#!ð$    b¡Ô)¨#Ô.ð%!ð* ˜bÑ �
Ø�s˜R‘xÔ  Ô%ð 5ÝÐ-¨tÑ4Ô4Ð4ùñ1	5ð4 ÐrW   c                 óÄ   — t          t          t           | ¦  «        ¦  «        }t          |¦  «        |dz  z  }t          t	          |dz  dz
  ¦  «        dz  ¦  «        }|dz  S )Nr	   éd   r    r‡   r   )rZ   r[   ÚfloatÚintÚabs)r©   rª   Ú
dark_countÚpercentÚratings        rU   r¨   r¨   [  s]   € Ý•S�˜gÑ&Ô&Ñ'Ô'€JÝ�JÑÔ =°!Ñ#3Ñ4€Gå•�W˜s‘] RÑ'Ñ(Ô(¨1Ñ,Ñ-Ô-€FØ�B‰;ÐrW   c              #   ó‚  K  — t          | ¦  «        } d}dt          j        t          ¦  «        z   dz   }t	          | ¦  «        |k    r5t          j        d|z   dz   ¦  «        }t          j        d|z   dz   ¦  «        }nVdt          |¦  «                             d¦  «        z   dz   }t          j        ||z   ¦  «        }t          j        ||z   ¦  «        }t          | |¦  «        }|D ][\  }}|rt          |t          d	¬
¦  «        V — Œ!t          ||¦  «        D ])\  }}	|rt          nt          }
t          |	|
d	¬
¦  «        V — Œ*Œ\dS )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š   )rh   ÚminimumÚnum_patternÚalpha_patternÚ	re_repeatÚnum_bitsÚis_numÚchunkÚis_alphaÚ	sub_chunkr�   s              rU   Úoptimal_data_chunksrâ   c  sl  è è € õ ˜ÑÔ€DØ€KØ�2œ9¥YÑ/Ô/Ñ/°$Ñ6€MÝ
ˆ4�y„y�GÒÐÝ”j ¨Ñ!3°eÑ!;Ñ<Ô<ˆÝœ
 4¨-Ñ#7¸%Ñ#?Ñ@Ô@ˆˆà�3˜w™<œ<×.Ò.¨wÑ7Ô7Ñ7¸%Ñ?ˆ	Ý”j ¨yÑ!8Ñ9Ô9ˆÝœ
 =°9Ñ#<Ñ=Ô=ˆÝ˜d KÑ0Ô0€HØ!ð Eð E‰ˆ�Øð 	EÝ˜¥[¸UÐCÑCÔCÐCÐCÐCÐCå'5°e¸]Ñ'KÔ'Kð Eð EÑ#�˜)Ø)1ÐE•~�~µ~�Ý˜Y¨T¸eÐDÑDÔDÐDÐDÐDÐDðEð	Eð ErW   c              #   óö   K  — | rjt          j        || ¦  «        }|snR|                     ¦   «         |                     ¦   «         }}|rd| d |…         fV — d| ||…         fV — | |d …         } | °j| rd| fV — d S d S )NFT)rÑ   ÚsearchÚstartÚend)rh   r�   Úmatchrå   ræ   s        rU   r×   r×   }  s¾   è è € Ø
ð Ý”	˜' 4Ñ(Ô(ˆØð 	ØØ—[’[‘]”] E§I¢I¡K¤KˆsˆØð 	&Ø˜˜f˜u˜fœÐ%Ð%Ð%Ð%Ø�D˜˜s˜”OÐ#Ð#Ð#Ð#Ø�C�D�DŒzˆð ð ð ð Ø�TˆkÐÐÐÐÐðð rW   c                 ót   — t          | t          ¦  «        s"t          | ¦  «                             d¦  «        } | S )z^
    Convert data to a (utf-8 encoded) byte-string if it isn't a byte-string
    already.
    zutf-8)Ú
isinstanceÚbytesrÕ   rÖ   ©rh   s    rU   rÐ   rÐ   ‹  s4   € õ
 �d�EÑ"Ô"ð )Ý�4‰yŒy×Ò Ñ(Ô(ˆØ€KrW   c                 óˆ   — |                       ¦   «         rt          S t                               | ¦  «        rt          S t
          S )z<
    Calculate the optimal mode for this chunk of data.
    )Úisdigitr˜   ÚRE_ALPHA_NUMrç   r™   rš   rë   s    rU   Úoptimal_moderï   •  s<   € ð ‡|‚|�~„~ð ÝÐÝ×Ò˜$ÑÔð ÝÐÝÐrW   c                   ó,   — e Zd ZdZdd„Zd„ Zd„ Zd„ ZdS )	rØ   zS
    Data held in a QR compatible format.

    Doesn't currently handle KANJI.
    NTc                 ó  — |rt          |¦  «        }|€t          |¦  «        | _        nW|| _        |t          t          t
          fvrt          d|› d�¦  «        ‚|r%|t          |¦  «        k     rt          d|› �¦  «        ‚|| _        dS )zg
        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¡   rh   )Úselfrh   r�   rÏ   s       rU   Ú__init__zQRData.__init__§  s    € ð
 ð 	'Ý  Ñ&Ô&ˆDàˆ<Ý$ TÑ*Ô*ˆDŒIˆIàˆDŒIØ�K­½ÐHÐHÐHÝÐ 8°Ð 8Ð 8Ð 8Ñ9Ô9Ð9Øð Y˜d¥\°$Ñ%7Ô%7Ò7Ð7Ý Ð!WÐQUÐ!WÐ!WÑXÔXÐXàˆŒ	ˆ	ˆ	rW   c                 ó*   — t          | j        ¦  «        S rQ   )r¤   rh   ©rò   s    rU   Ú__len__zQRData.__len__º  s   € Ý�4”9‰~Œ~ÐrW   c                 ó   — | j         t          k    rwt          dt          | j        ¦  «        d¦  «        D ]Q}| j        ||dz   …         }t
          t          |¦  «                 }|                     t          |¦  «        |¦  «         ŒRd S | j         t          k    rÔt          dt          | j        ¦  «        d¦  «        D ]®}| j        ||dz   …         }t          |¦  «        dk    rY|                     t           
                    |d         ¦  «        dz  t           
                    |d         ¦  «        z   d¦  «         Œ€|                     t           
                    |¦  «        d¦  «         Œ¯d S | j        }|D ]}|                     |d¦  «         Œd S )	Nr   r   r	   r   é-   r   r   r   )r�   r˜   rb   r¤   rh   ÚNUMBER_LENGTHÚputrÄ   r™   rÓ   Úfind)rò   Úbufferrz   ÚcharsÚ
bit_lengthrh   Úcs          rU   ÚwritezQRData.write½  s…  € ØŒ9�Ò#Ð#Ý˜1�c $¤)™nœn¨aÑ0Ô0ð 3ð 3�Øœ	 ! a¨!¡e )Ô,�Ý*­3¨u©:¬:Ô6�
Ø—
’
�3˜u™:œ: zÑ2Ô2Ð2Ð2ð3ð 3ð ŒY�.Ò(Ð(Ý˜1�c $¤)™nœn¨aÑ0Ô0ð 9ð 9�Øœ	 ! a¨!¡e )Ô,�Ý�u‘:”: ’>�>Ø—J’JÝ!Ÿš u¨Q¤xÑ0Ô0°2Ñ5½	¿ºÀuÈQÄxÑ8PÔ8PÑPÐRTñô ð ð ð —J’J�yŸ~š~¨eÑ4Ô4°aÑ8Ô8Ð8Ð8ð9ð 9ð ”9ˆDØð !ð !�Ø—
’
˜1˜aÑ Ô Ð Ð ð!ð !rW   c                 ó*   — t          | j        ¦  «        S rQ   )Úreprrh   rõ   s    rU   Ú__repr__zQRData.__repr__Ó  s   € Ý�D”I‰ŒÐrW   )NT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ró   rö   r   r  ro   rW   rU   rØ   rØ      s_   € € € € € ðð ðð ð ð ð&ð ð ð!ð !ð !ð,ð ð ð ð rW   rØ   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú	BitBufferc                 ó"   — g | _         d| _        d S r£   )rü   rµ   rõ   s    rU   ró   zBitBuffer.__init__Ø  s   € Ø!#ˆŒØˆŒˆˆrW   c                 óJ   — d                      d„ | j        D ¦   «         ¦  «        S )Nú.c                 ó,   — g | ]}t          |¦  «        ‘ŒS ro   )rÕ   )r]   Úns     rU   r`   z&BitBuffer.__repr__.<locals>.<listcomp>Ý  s   € Ð5Ð5Ð5 A�˜Q™œÐ5Ð5Ð5rW   )Újoinrü   rõ   s    rU   r  zBitBuffer.__repr__Ü  s%   € Ø�xŠxÐ5Ð5¨¬Ð5Ñ5Ô5Ñ6Ô6Ð6rW   c                 ój   — t          j        |dz  ¦  «        }| j        |         d|dz  z
  z	  dz  dk    S )Nr   r   r   )r…   r†   rü   )rò   ÚindexÚ	buf_indexs      rU   ÚgetzBitBuffer.getß  s9   € Ý”J˜u q™yÑ)Ô)ˆ	Ø”˜YÔ'¨A°¸±	©MÑ:¸aÑ?ÀAÒEÐErW   c                 ót   — t          |¦  «        D ]'}|                      |||z
  dz
  z	  dz  dk    ¦  «         Œ(d S rr   )rb   Úput_bit)rò   Únumrµ   rz   s       rU   rú   zBitBuffer.putã  sM   € Ý�v‘”ð 	?ð 	?ˆAØ�LŠL˜3 6¨A¡:°¡>Ñ2°aÑ7¸AÒ=Ñ>Ô>Ð>Ð>ð	?ð 	?rW   c                 ó   — | j         S rQ   )rµ   rõ   s    rU   rö   zBitBuffer.__len__ç  s
   € ØŒ{ÐrW   c                 óâ   — | j         dz  }t          | j        ¦  «        |k    r| j                             d¦  «         |r | j        |xx         d| j         dz  z	  z  cc<   | xj         dz  c_         d S )Nr   r   rF   r   )rµ   r¤   rü   Úappend)rò   Úbitr  s      rU   r  zBitBuffer.put_bitê  s   € Ø”K 1Ñ$ˆ	ÝˆtŒ{ÑÔ˜yÒ(Ð(ØŒK×Ò˜qÑ!Ô!Ð!Øð 	@ØŒK˜	Ð"Ð"Ô" d¨t¬{¸Q©Ñ&?Ñ?Ð"Ð"Ñ"ØˆŒ�qÑˆŒˆˆrW   N)	r  r  r  ró   r  r  rú   rö   r  ro   rW   rU   r	  r	  ×  sq   € € € € € ðð ð ð7ð 7ð 7ðFð Fð Fð?ð ?ð ?ðð ð ðð ð ð ð rW   r	  rü   r\   c           	      ó<  ‡ ‡— dŠd}d}g }g }|D �]}|j         }|j        |z
  }t          ||¦  «        }t          ||¦  «        }ˆ ˆfd„t          |¦  «        D ¦   «         }	‰|z  Š|t          j        v r&t          j        t          j        |         d¦  «        }
nTt          j        dgd¦  «        }
t          |¦  «        D ].}|
t          j        dt          j        |¦  «        gd¦  «        z  }
Œ/t          j        |	t          |
¦  «        dz
  ¦  «        }||
z  }g }t          |¦  «        |z
  }t          |¦  «        D ]*}||z   }| 
                    |dk    r||         nd¦  «         Œ+| 
                    |	¦  «         | 
                    |¦  «         �Œ�g }t          |¦  «        D ]5}|D ]0}|t          |¦  «        k     r| 
                    ||         ¦  «         Œ1Œ6t          |¦  «        D ]5}|D ]0}|t          |¦  «        k     r| 
                    ||         ¦  «         Œ1Œ6|S )Nr   c                 ó6   •— g | ]}d ‰j         |‰z            z  ‘ŒS )éÿ   )rü   )r]   rz   rü   Úoffsets     €€rU   r`   z create_bytes.<locals>.<listcomp>  s)   ø€ ÐOÐOÐO¸1�d˜Vœ]¨1¨v©:Ô6Ñ6ÐOÐOÐOrW   r   )rS   Útotal_countÚmaxrb   r   Ú
rsPoly_LUTr   Ú
PolynomialÚgexpr¤   r  )rü   r\   Ú
maxDcCountÚ
maxEcCountÚdcdataÚecdataÚrs_blockÚdcCountÚecCountÚ
current_dcÚrsPolyrz   ÚrawPolyÚmodPolyÚ
current_ecÚ
mod_offsetÚmodIndexrh   ÚdcÚecr  s   `                   @rU   Úcreate_bytesr4  ó  s]  øø€ Ø€Fà€JØ€Jà €FØ €Fàð "ñ "ˆØÔ%ˆØÔ&¨Ñ0ˆå˜ WÑ-Ô-ˆ
Ý˜ WÑ-Ô-ˆ
àOÐOÐOÐOÐOÅÀgÁÄÐOÑOÔOˆ
Ø�'Ñˆð •c”nÐ$Ð$Ý”_¥S¤^°GÔ%<¸aÑ@Ô@ˆFˆFå”_ a S¨!Ñ,Ô,ˆFÝ˜7‘^”^ð Hð H�Ø¥$¤/°1µd´iÀ±l´lÐ2CÀQÑ"GÔ"GÑG��å”/ *­c°&©k¬k¸A©oÑ>Ô>ˆà˜FÑ"ˆØˆ
Ý˜‘\”\ GÑ+ˆ
Ý�w‘”ð 	Kð 	KˆAØ˜:‘~ˆHØ×Ò°HÀ²M°M˜g hÔ/Ð/ÈÑJÔJÐJÐJà�Š�jÑ!Ô!Ð!Ø�Š�jÑ!Ô!Ð!Ñ!à€DÝ�:ÑÔð #ð #ˆØð 	#ð 	#ˆBØ•3�r‘7”7Š{ˆ{Ø—’˜B˜qœEÑ"Ô"Ð"øð	#õ �:ÑÔð #ð #ˆØð 	#ð 	#ˆBØ•3�r‘7”7Š{ˆ{Ø—’˜B˜qœEÑ"Ô"Ð"øð	#ð €KrW   c                 óº  — t          ¦   «         }|D ]h}|                     |j        d¦  «         |                     t          |¦  «        t	          |j        | ¦  «        ¦  «         |                     |¦  «         Œit          j        | |¦  «        }t          d„ |D ¦   «         ¦  «        }t          |¦  «        |k    r(t          j
        dt          |¦  «        ›d|›d�¦  «        ‚t          t          |t          |¦  «        z
  d¦  «        ¦  «        D ]}|                     d¦  «         Œt          |¦  «        dz  }|r*t          d|z
  ¦  «        D ]}|                     d¦  «         Œ|t          |¦  «        z
  dz  }	t          |	¦  «        D ]B}
|
dz  d	k    r|                     t          d¦  «         Œ'|                     t          d¦  «         ŒCt!          ||¦  «        S )
Nr
   c              3   ó*   K  — | ]}|j         d z  V — ŒdS )r   NrR   )r]   rT   s     rU   r°   zcreate_data.<locals>.<genexpr>1  s*   è è € Ð@Ð@¨U�EÔ$ qÑ(Ð@Ð@Ð@Ð@Ð@Ð@rW   z!Code length overflow. Data size (z) > size available (r—   Fr   r	   r   )r	  rú   r�   r¤   rž   r   r   r\   rZ   r   ÚDataOverflowErrorrb   Úminr  ÚPAD0ÚPAD1r4  )r^   r_   Ú	data_listrü   rh   r\   Ú	bit_limitÚ_ÚdelimitÚbytes_to_fillrz   s              rU   Úcreate_datar@  '  sá  € å‰[Œ[€FØð ð ˆØ�
Š
�4”9˜aÑ Ô Ð Ø�
Š
•3�t‘9”9�n¨T¬Y¸Ñ@Ô@ÑAÔAÐAØ�
Š
�6ÑÔÐÐõ ”˜wÐ(8Ñ9Ô9€IÝÐ@Ð@°iÐ@Ñ@Ô@Ñ@Ô@€IÝ
ˆ6�{„{�YÒÐÝÔ*Ð*å�6‰{Œ{ˆ{ˆ{˜I˜I˜Ið'ñ
ô 
ð 	
õ •3�y¥3 v¡;¤;Ñ.°Ñ2Ô2Ñ3Ô3ð ð ˆØ�Š�uÑÔÐÐõ �&‰kŒk˜A‰o€GØð "Ý�q˜7‘{Ñ#Ô#ð 	"ð 	"ˆAØ�NŠN˜5Ñ!Ô!Ð!Ð!ð ¥ V¡¤Ñ,°Ñ2€MÝ�=Ñ!Ô!ð  ð  ˆØˆq‰5�AŠ:ˆ:Ø�JŠJ•t˜QÑÔÐÐà�JŠJ•t˜QÑÔÐÐå˜ 	Ñ*Ô*Ð*rW   )r
   )4r…   rÑ   Útypingr   Úqrcoder   r   r   Úqrcode.baser   r˜   r™   rš   r›   r‘   r’   r“   rÓ   rÔ   rÒ   rî   rù   rs   re   rl   rf   r9  r:  rV   rb   ÚBIT_LIMIT_TABLErj   rm   rd   ru   rŽ   r”   rž   rœ   r«   r¥   r¦   r§   r¨   râ   r×   rÐ   rï   rØ   r	  r4  r@  ro   rW   rU   ú<module>rE     sm  ðØ €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð ð €Ø€Ø€Ø€
ð �Ø�AØ�AØ�ð	€ð �Ø�BØ�BØ�ð	Ð ð �Ø�BØ�BØ�ð	€ð =€	ØˆrŒz˜% ) "¤)¨IÑ"6Ô"6Ñ6¸ÑAÑBÔB€ð ˜1 Ð#Ð#€ð)Øð)àˆ€Gð)ð ˆ€Gð)ð ˆ€Gð	)ð
 ˆ€Gð)ð ˆ€Gð)ð €K€Kð)ð €K€Kð)ð €K€Kð)ð €K€Kð)ð €K€Kð)ð €K€Kð)ð €K€Kð)ð €O€Oð)ð €O€Oð)ð  €O€Oð!)ð" €O€Oð#)ð$ €O€Oð%)ð& €O€Oð')ð( €O€Oð))ð* ÐÐð+)ð, ÐÐð-)ð. ÐÐð/)ð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€à€Ø€ðð ð ðð ð "˜E !™HœHðñ ô €ð)ð )ð )ðð ð ðð ð ð/ð /ð /ð4ð 4ð 4ð.ð ð ð1ð 1ð 1ðOð Oð Oð

ð 
ð 
ð(ð (ð (ðVð ð ð6Ið Ið IðXð ð ðEð Eð Eð Eð4ð ð ðð ð ðð ð ð4ð 4ð 4ð 4ð 4ñ 4ô 4ð 4ðnð ð ð ð ñ ô ð ð81˜ð 1¨t°G¬}ð 1ð 1ð 1ð 1ðh#+ð #+ð #+ð #+ð #+rW   