+
    KV-jû@  ã                   óÜ  € ^ RI Ht ^ RIHtHtHtHt ^ RIHtH	t	 ^ RI
t
] ! R R4      4       t ! R R]4      t ! R	 R
]4      t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       t ! R R4      tR R ltR R ltR R  ltR! R" ltR# R$ lt]R%8X  d
   ]! 4        R# R# )&é    )Ú	dataclass)ÚOptionalÚListÚTupleÚIterator)ÚABCÚabstractmethodNc                   ó€   a € ] tR t^	t o RtRV 3R lR lltV 3R lR ltRV 3R lR lltV 3R lR	 ltV 3R
 lt	Rt
V tR# )ÚPositionz2Tracks position in source text for error reportingc                ó$   <€ V ^8„  d   QhRS[ RR/# )é   ÚnÚreturnr   )Úint)ÚformatÚ__classdict__s   "€Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/llguidance/gbnf_to_lark.pyÚ__annotate__ÚPosition.__annotate__   s   ø€ ÷ 1ñ 1™ð 1 Zñ 1ó    c                óP   € \        V P                  V P                  V,           4      # ©N)r   ÚtextÚpos©Úselfr   s   &&r   ÚadvanceÚPosition.advance   s   € Ü˜Ÿ	™	 4§8¡8¨a¥<Ó0Ð0r   c                ó    <€ V ^8„  d   QhRS[ /# ©r   r   ©Ústr)r   r   s   "€r   r   r      s   ø€ ÷ Hñ H™ñ Hr   c                óˆ   € V P                   \        V P                  4      8  d   V P                  V P                   ,          # R # )Ú )r   Úlenr   ©r   s   &r   ÚcurrentÚPosition.current   s-   € Ø&*§h¡h´°T·Y±Y³Ô&?ˆt�y‰y˜Ÿ™Õ"ÐGÀRÐGr   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r   r   )r   r"   )r   r   s   "€r   r   r      s   ø€ ÷ 2ñ 2‘cð 2¡#ñ 2r   c                óV   € V P                   V P                  V P                  V,            # r   )r   r   r   s   &&r   ÚpeekÚPosition.peek   s   € Ø�y‰y˜Ÿ™ D§H¡H¨q¥LÐ1Ð1r   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   r      s   ø€ ÷ >ñ >™ñ >r   c                óT  € V P                   P                  R ^ V P                  4      ^,           pV P                   \        ^ V P                  ^,
          4      V P                   pV P                   V P                  V P                  ^,            pRV R\	        V4       R\	        V4       2# )Ú
zline z, z ^ )r   Úcountr   ÚmaxÚrepr)r   Úline_noÚprefÚsuffs   &   r   Ú__str__ÚPosition.__str__   s�   € Ø—)‘)—/‘/ $¨¨4¯8©8Ó4°qÕ8ˆØ�y‰yœ˜Q §¡¨2¥Ó.°·±Ð:ˆØ�y‰y˜Ÿ™ D§H¡H¨r¥MÐ2ˆØ�w�i˜r¤$ t£* ¨S´°d³°Ð=Ð=r   c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   # )r   r   r   )r"   r   )r   r   s   "€r   r   r   	   s   ø‡ ‚ ñ �Iñ	 ñ
 
�Hò r   © N©é   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r'   r+   r6   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   	   s9   ø‡ € á<÷
1ò 1÷Hð H÷2ò 2÷>ð >÷! ƒ r   r   c                   ó>   a a€ ] tR t^ t oV3R lV 3R lltRtVtV ;t# )ÚGbnfToLarkErrorc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   r   Úmessage)r   r"   )r   r   s   "€r   r   ÚGbnfToLarkError.__annotate__!   s   ø€ ÷ 0ñ 0™Hð 0©sñ 0r   c                ó<   <€ Wn         \        SV `	  V R V 24       R# )z at N)r   ÚsuperÚ__init__)r   r   rH   Ú	__class__s   &&&€r   rL   ÚGbnfToLarkError.__init__!   s    ø€ ØŒÜ‰Ñ˜G˜9 D¨¨Ð.Ö/r   ©r   )r<   r=   r>   r?   rL   rB   rC   Ú__classcell__)rM   r   s   @@r   rF   rF       s   ù‡ € ÷0÷ 0ó 0r   rF   c                   ó–   a € ] tR t^'t o ]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
RtV tR# )ÚASTNodec                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   ÚASTNode.__annotate__)   s   ø€ ÷ ñ ™ñ r   c                ó   € R # r   r9   r&   s   &r   r6   ÚASTNode.__str__(   s   € ár   c                ó    <€ V ^8„  d   QhRS[ /# r    ©Úbool)r   r   s   "€r   r   rT   ,   s   ø€ ÷ ñ ™4ñ r   c                ó   € R # )Tr9   r&   s   &r   Ú	is_atomicÚASTNode.is_atomic,   s   € Ùr   c                ó    <€ V ^8„  d   QhRS[ /# r    rX   )r   r   s   "€r   r   rT   /   s   ø€ ÷ =ñ =™Tñ =r   c                ó¢   € \         ;QJ d*    R  V P                  4        4       F  '       d   K   R# 	  R# ! R  V P                  4        4       4      # )c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir   )Úis_terminal)Ú.0Úcs   & r   Ú	<genexpr>Ú&ASTNode.is_terminal.<locals>.<genexpr>0   s   é € Ð<©O q—=‘=—?�?«Oùs   ‚FT)ÚallÚchildrenr&   s   &r   r`   ÚASTNode.is_terminal/   s7   € ß‹sÑ<¨D¯M©M¬OÓ<�sŒsÐ<ŠsÐ<ˆsÑ<¨D¯M©M¬OÓ<Ó<Ð<r   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   rT   2   ó   ø€ ÷ ñ ™ñ r   c                ó"   € V P                  4       # r   )r6   r&   s   &r   Útop_strÚASTNode.top_str2   s   € Ø�|‰|‹~Ðr   c                ó   <€ V ^8„  d   QhRR/# ©r   r   rR   r9   )r   r   s   "€r   r   rT   5   s   ø€ ÷ ñ ˜)ñ r   c                ó   € V # r   r9   r&   s   &r   ÚsimplifyÚASTNode.simplify5   s   € Øˆr   c                ó.   <€ V ^8„  d   QhRS[ R,          /# rn   )Úlist)r   r   s   "€r   r   rT   8   s   ø€ ÷ ñ ™$˜y�/ñ r   c                ó   € . # r   r9   r&   s   &r   rf   ÚASTNode.children8   s   € Øˆ	r   r9   N)r<   r=   r>   r?   r	   r6   r[   r`   rk   rp   rf   rB   rC   rD   s   @r   rR   rR   '   sI   ø‡ € Ø÷ó ð÷ð ÷=ð =÷ð ÷ð ÷ö r   rR   c                   ó>   a € ] tR t^<t o V 3R lR ltV 3R ltRtV tR# )ÚLiteralNodec                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   ÚLiteralNode.__annotate__@   s   ø€ ÷ !ñ !™ñ !r   c                ó"   € R V P                    R 2# )Ú")Úvaluer&   s   &r   r6   ÚLiteralNode.__str__@   s   € Ø�4—:‘:�,˜aÐ Ð r   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r|   r!   )r   r   s   "€r   r   ry   <   s   ø‡ ‚ á�Jò r   r9   N©r<   r=   r>   r?   r6   rA   rB   rC   rD   s   @r   rw   rw   <   s   ø‡ € ÷!ð !÷	 ƒ r   rw   c                   ó>   a € ] tR t^Dt o V 3R lR ltV 3R ltRtV tR# )Ú	RegexNodec                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   ÚRegexNode.__annotate__H   ri   r   c                ó"   € R V P                    R 2# )Ú/)Úrxr&   s   &r   r6   ÚRegexNode.__str__H   s   € Ø�4—7‘7�)˜1ˆ~Ðr   c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r†   r!   )r   r   s   "€r   r   rƒ   D   s   ø‡ ‚ á�Gò r   r9   Nr   rD   s   @r   r�   r�   D   s   ø‡ € ÷ð ÷	 ƒ r   r�   c                   óT   a € ] tR t^Lt o RtV 3R lR ltV 3R lR ltV 3R ltRtV t	R# )ÚRuleRefNodeNc                ó    <€ V ^8„  d   QhRS[ /# r    rX   )r   r   s   "€r   r   ÚRuleRefNode.__annotate__Q   s   ø€ ÷ ,ñ ,™Tñ ,r   c                óN   € V P                   f   R# V P                   P                  # )NF)ÚtargetÚrule_is_terminalr&   s   &r   r`   ÚRuleRefNode.is_terminalQ   s   € Ø�;‰;ÒÙØ�{‰{×+Ñ+Ð+r   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   rŒ   V   s   ø€ ÷  ñ  ™ñ  r   c                ób   € V P                   f   V P                  # V P                   P                  # r   )rŽ   Únamer&   s   &r   r6   ÚRuleRefNode.__str__V   s&   € Ø�;‰;ÒØ—9‘9ÐØ�{‰{×ÑÐr   c                ó@   <€ V ^8„  d   Qh/ S[ ;R&   S[R,          ;R&   # )r   r“   ÚRuleNoderŽ   )r"   r   )r   r   s   "€r   r   rŒ   L   s!   ø‡ ‚ á
�Iñ ñ �ZÕ Ñ'ò r   r9   )
r<   r=   r>   r?   rŽ   r`   r6   rA   rB   rC   rD   s   @r   rŠ   rŠ   L   s'   ø‡ € ð $(€F÷,ð ,÷
 ð  ÷ ƒ r   rŠ   c                   ób   a € ] tR t^\t o V 3R lR ltV 3R lR ltV 3R lR ltV 3R ltRtV t	R	# )
ÚRepetitionNodec                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    ©r   rR   )r   r   s   "€r   r   ÚRepetitionNode.__annotate__b   s   ø€ ÷ ñ ™$™w�-ñ r   c                ó   € V P                   .# r   ©Únoder&   s   &r   rf   ÚRepetitionNode.childrenb   s   € Ø—	‘	ˆ{Ðr   c                ó    <€ V ^8„  d   QhRS[ /# r    ©rR   )r   r   s   "€r   r   r›   e   s   ø€ ÷ ñ ™'ñ r   c                óD   € V P                   P                  4       V n         V # r   )rž   rp   r&   s   &r   rp   ÚRepetitionNode.simplifye   s   € Ø—I‘I×&Ñ&Ó(ˆŒ	Øˆr   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   r›   i   s   ø€ ÷ 8ñ 8™ñ 8r   c                óÊ  € \        V P                  4      pV P                  P                  4       '       g   R V R2pV P                  ^ 8X  d   V P                  f   V R2# V P                  ^8X  d   V P                  f   V R2# V P                  ^ 8X  d   V P                  ^8X  d   V R2# V P                  e   \        V P                  4      MRpV RV P                   RV R2# )	Ú(Ú)Ú*Ú+Ú?r$   Ú{Ú,Ú})r"   rž   r[   Ú	min_timesÚ	max_times)r   ÚinnerÚmax_strs   &  r   r6   ÚRepetitionNode.__str__i   sË   € Ü�D—I‘I“ˆØ�y‰y×"Ñ"×$Ò$Ø˜�w˜a�LˆEØ�>‰>˜QÔ 4§>¡>Ò#9Ø�W˜A�;ÐØ�>‰>˜QÔ 4§>¡>Ò#9Ø�W˜A�;ÐØ�>‰>˜QÔ 4§>¡>°QÔ#6Ø�W˜A�;ÐØ)-¯©Ò)C”#�d—n‘nÔ%ÈˆØ�˜˜4Ÿ>™>Ð*¨!¨G¨9°BÐ7Ð7r   c                óN   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[S[,          ;R&   # )r   rž   r®   r¯   )rR   r   r   )r   r   s   "€r   r   r›   \   s,   ø‡ ‚ á
�Mñ ñ �Nñ ñ ™�}Ñò	 r   r�   N)
r<   r=   r>   r?   rf   rp   r6   rA   rB   rC   rD   s   @r   r˜   r˜   \   s*   ø‡ € ÷ð ÷ð ÷8ð 8÷ ƒ r   r˜   c                   ót   a € ] tR t^wt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 ltR
t	V t
R# )ÚSequenceNodec                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   ÚSequenceNode.__annotate__{   s   ø€ ÷ :ñ :™ñ :r   c                ón   € V P                   '       g   R # RP                  R V P                    4       4      # )z""Ú c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r!   )ra   rž   s   & r   rc   Ú'SequenceNode.__str__.<locals>.<genexpr>~   s   é € Ð9©j dœ˜DŸ	˜	«jùó   ‚)ÚnodesÚjoinr&   s   &r   r6   ÚSequenceNode.__str__{   s'   € Ø�z�zˆzÙØ�x‰xÑ9¨d¯jªjÓ9Ó9Ð9r   c                ó    <€ V ^8„  d   QhRS[ /# r    rX   )r   r   s   "€r   r   r·   €   ó   ø€ ÷ ñ ™4ñ r   c                ó   € R # ©Fr9   r&   s   &r   r[   ÚSequenceNode.is_atomic€   ó   € Ùr   c                ó    <€ V ^8„  d   QhRS[ /# r    r¡   )r   r   s   "€r   r   r·   ƒ   ó   ø€ ÷ ñ ™'ñ r   c                ó  € \        \        V P                  4      4       F1  pV P                  V,          P                  4       V P                  V&   K3  	  \        V P                  4      ^8X  d   V P                  ^ ,          # V # r:   )Úranger%   r½   rp   ©r   Úis   & r   rp   ÚSequenceNode.simplifyƒ   sZ   € Ü”s˜4Ÿ:™:“Ö'ˆAØ ŸJ™J q�M×2Ñ2Ó4ˆD�J‰J�q‹Mñ (äˆt�z‰z‹?˜aÔØ—:‘:˜a•=Ð Øˆr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    ©rs   rR   )r   r   s   "€r   r   r·   Š   s   ø€ ÷ ñ ™$™w�-ñ r   c                ó   € V P                   # r   )r½   r&   s   &r   rf   ÚSequenceNode.childrenŠ   s   € Ø�z‰zÐr   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   r½   rš   )r   r   s   "€r   r   r·   w   s   ø‡ ‚ á‘�=Ñò r   r9   N)r<   r=   r>   r?   r6   r[   rp   rf   rA   rB   rC   rD   s   @r   rµ   rµ   w   s4   ø‡ € ÷:ð :÷
ð ÷ð ÷ð ÷' ƒ r   rµ   c                   ó†   a € ] tR t^Žt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lt	Rt
V tR# )ÚAlternativeNodec                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   ÚAlternativeNode.__annotate__’   s   ø€ ÷ Gñ G™ñ Gr   c                óF   € R P                  R V P                   4       4      # )z
     | c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r!   ©ra   Úalts   & r   rc   Ú*AlternativeNode.top_str.<locals>.<genexpr>“   ó   é € ÐFÑ4E¨S¤ C§ Ó4Eùr¼   ©r¾   Úalternativesr&   s   &r   rk   ÚAlternativeNode.top_str’   s   € Ø×ÑÑF°D×4EÒ4EÓFÓFÐFr   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   rÕ   •   s   ø€ ÷ Mñ M™ñ Mr   c                ób   € R RP                  R V P                   4       4      ,           R,           # )r¦   z | c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r!   rØ   s   & r   rc   Ú*AlternativeNode.__str__.<locals>.<genexpr>–   rÛ   r¼   r§   rÜ   r&   s   &r   r6   ÚAlternativeNode.__str__•   s'   € Ø�U—Z‘ZÑF°D×4EÒ4EÓFÓFÕFÈÕLÐLr   c                ó    <€ V ^8„  d   QhRS[ /# r    rX   )r   r   s   "€r   r   rÕ   ˜   rÁ   r   c                ó   € R # rÃ   r9   r&   s   &r   r[   ÚAlternativeNode.is_atomic˜   rÅ   r   c                ó    <€ V ^8„  d   QhRS[ /# r    r¡   )r   r   s   "€r   r   rÕ   ›   rÇ   r   c                ó  € \        \        V P                  4      4       F1  pV P                  V,          P                  4       V P                  V&   K3  	  \        V P                  4      ^8X  d   V P                  ^ ,          # V # r:   )rÉ   r%   rÝ   rp   rÊ   s   & r   rp   ÚAlternativeNode.simplify›   si   € Ü”s˜4×,Ñ,Ó-Ö.ˆAØ#'×#4Ñ#4°QÕ#7×#@Ñ#@Ó#BˆD×Ñ˜aÓ ñ /äˆt× Ñ Ó! QÔ&Ø×$Ñ$ QÕ'Ð'Øˆr   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    rÎ   )r   r   s   "€r   r   rÕ   ¢   s   ø€ ÷ !ñ !™$™w�-ñ !r   c                ó   € V P                   # r   ©rÝ   r&   s   &r   rf   ÚAlternativeNode.children¢   s   € Ø× Ñ Ð r   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   rÝ   rš   )r   r   s   "€r   r   rÕ   Ž   s   ø‡ ‚ á‘w•-Ñò r   r9   N)r<   r=   r>   r?   rk   r6   r[   rp   rf   rA   rB   rC   rD   s   @r   rÓ   rÓ   Ž   sB   ø‡ € ÷Gð G÷Mð M÷ð ÷ð ÷!ð !÷) ƒ r   rÓ   c                   óX   a € ] tR t^¦t o Rt^ tV 3R lR ltV 3R lR ltV 3R ltRt	V t
R# )	r–   Fc                ó0   <€ V ^8„  d   QhRS[ S[,          /# r    rš   )r   r   s   "€r   r   ÚRuleNode.__annotate__®   s   ø€ ÷ #ñ #™$™w�-ñ #r   c                ó   € V P                   .# r   rì   r&   s   &r   rf   ÚRuleNode.children®   s   € Ø×!Ñ!Ð"Ð"r   c                ó    <€ V ^8„  d   QhRS[ /# r    r!   )r   r   s   "€r   r   rñ   ±   s   ø€ ÷ Kñ K™ñ Kr   c                ól   € V P                    V P                   R V P                  P                  4        2# )z: )Úcommentr“   rÝ   rk   r&   s   &r   r6   ÚRuleNode.__str__±   s/   € Ø—,‘,� §	¡	˜{¨"¨T×->Ñ->×-FÑ-FÓ-HÐ,IÐJÐJr   c                óJ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[ ;R&   S[;R&   # )r   r“   rÝ   rö   r�   )r"   rR   rY   )r   r   s   "€r   r   rñ   ¦   s5   ø‡ ‚ á
�Iñ ñ Ññ ñ �Lñ	 ñ
 Ñ"ò r   r9   N)r<   r=   r>   r?   r�   Úorderrf   r6   rA   rB   rC   rD   s   @r   r–   r–   ¦   s/   ø‡ € ð
 #ÐØ€E÷#ð #÷Kð K÷ ƒ r   r–   c                   óV  a € ] tR t^µt o V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R	 lR
 lt]	V 3R lR l4       t
]	V 3R lR l4       tV 3R lR lt]	V 3R lR l4       t]	V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR # )!ÚGrammarParserc                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr9   )r   r   s   "€r   r   ÚGrammarParser.__annotate__¶   s   ø€ ÷ ñ ˜$ñ r   c                ó   € R V n         R# )r$   N©Úcurr_commentr&   s   &r   rL   ÚGrammarParser.__init__¶   s   € ØˆÔÙr   c                ó<   <€ V ^8„  d   QhRS[ RS[S[ S[3,          /# ©r   r   r   )r"   Údictr–   )r   r   s   "€r   r   rþ   º   s$   ø€ ÷ 
3ñ 
3™#ð 
3¡$¡s©H }Õ"5ñ 
3r   c                ó$  € \        V^ 4      pV P                  VRR7      p. pVP                  4       '       d:   V P                  V4      w  rBVP	                  V4       V P                  VRR7      pKO  V Uu/ uF  qDP
                  VbK  	  up# u upi )r   T©Úallow_newlines)r   Ú_skip_spacer'   Ú_parse_ruleÚappendr“   )r   r   r   ÚrulesÚrules   &&   r   ÚparseÚGrammarParser.parseº   s„   € Ü�t˜QÓˆØ×Ñ˜s°4ÐÓ8ˆØ "ˆà�k‰k�mŠmØ×(Ñ(¨Ó-‰IˆDØ�L‰L˜ÔØ×"Ñ" 3°tÐ"Ó<ŠCá,1Ó2©E D—	‘	˜4’©EÑ2Ð2ùÒ2s   Á5Bc                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# ©r   r   r   ©r   r   r"   )r   r   s   "€r   r   rþ   Æ   s$   ø€ ÷ (,ñ (,™xð (,©E±#±x°-Õ,@ñ (,r   c                óB  € R  R lpVP                  4       R8X  EdÄ   VP                  ^4      ^,          '       g   \        VR4      hVP                  4       pVP                  4       pVR9   d   RV,           VP                  4       3# VR8X  d^   VP                  ^4      R,          p\	        V4      ^8w  g   V! V4      '       g   \        VRV 24      hVP                  ^4      pRV 2V3# VR	8X  dm   VP                  ^4      R
,          p\	        V4      ^8w  g   V! V4      '       g   \        VRV 24      hVP                  ^4      pRVP                  R4       2V3# VR8X  dm   VP                  ^	4      R,          p\	        V4      ^8w  g   V! V4      '       g   \        VRV 24      hVP                  ^	4      pRVP                  R4       2V3# \        VRV 24      hVP                  4       R8X  d   \        VR4      hVP                  4       VP                  4       3# )c                ó0   € V ^8„  d   QhR\         R\        /# )r   Úsr   ©r"   rY   )r   s   "r   r   Ú/GrammarParser._parse_char.<locals>.__annotate__Ç   s   € ÷ 	Cñ 	Cœ#ð 	C¤$ñ 	Cr   c                 ój   € \         ;QJ d    R  V  4       F  '       d   K   R# 	  R# ! R  V  4       4      # )c              3   ó*   "  € T F	  qR 9   x € K  	  R# 5i)Ú0123456789abcdefABCDEFNr9   )ra   Úchs   & r   rc   Ú@GrammarParser._parse_char.<locals>.is_all_hex.<locals>.<genexpr>È   s   é € ÐBÁ¸"Ð5Ö5Ãùs   ‚FT)re   )r  s   &r   Ú
is_all_hexÚ-GrammarParser._parse_char.<locals>.is_all_hexÇ   s+   € ß“3ÑBÁÓB—3”3ÐB’3ÐB�3ÑBÁÓBÓBÐBr   Ú\zIncomplete escape sequencez"\[]nrtÚx:r;   é   NzInvalid \x escape sequence: \xz\xÚu:r;   é   NzInvalid \u escape sequence: \uz\uÚ0ÚU:r;   é	   NzInvalid \U escape sequence: \Uz\UzInvalid escape sequence \r$   zUnexpected end of input)r'   r+   rF   r   r%   Úlstrip)r   r   r  rb   Ú	hex_values   &&   r   Ú_parse_charÚGrammarParser._parse_charÆ   s  € õ	Cð �;‰;‹=˜DÕ Ø—8‘8˜A“;˜q—>”>Ü% cÐ+GÓHÐHØ—+‘+“-ˆCØ—‘“ˆAØ�JŒØ˜a•x §¡£Ð.Ð.Ø�c”ØŸH™H Q›K¨Õ,�	Ü�y“> QÔ&©j¸×.CÒ.CÜ)ØÐ?À	¸{ÐKóð ð —k‘k !“n�Ø˜Y˜KÐ(¨#Ð-Ð-Ø�c”ØŸH™H Q›K¨Õ,�	Ü�y“> QÔ&©j¸×.CÒ.CÜ)ØÐ?À	¸{ÐKóð ð —k‘k !“n�Ø˜Y×-Ñ-¨cÓ2Ð3Ð4°cÐ9Ð9Ø�c”ØŸH™H Q›K¨Õ,�	Ü�y“> QÔ&©j¸×.CÒ.CÜ)ØÐ?À	¸{ÐKóð ð —k‘k !“n�Ø˜Y×-Ñ-¨cÓ2Ð3Ð4°cÐ9Ð9ä% cÐ-GÈÀsÐ+KÓLÐLØ�[‰[‹]˜bÔ Ü! #Ð'@ÓAÐAà�{‰{‹}˜cŸk™k›mÐ+Ð+r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r  ©r   r   rR   )r   r   s   "€r   r   rþ   ð   s%   ø€ ÷ !ñ !¡Xð !±%¹ÁÐ8IÕ2Jñ !r   c                óþ   € VP                  4       R 8w  d   \        VR4      hR pVP                  4       p V P                  V4      w  r1VR9   d   VRV,           ,          pMW#,          pVR8X  g   K=   \	        T4      T3# )Ú[zExpected '['z/[r  Ú])r'   rF   r   r)  r�   ©r   r   Úrrb   s   &&  r   Ú_parse_char_classÚGrammarParser._parse_char_classð   sv   € Ø�;‰;‹=˜CÔÜ! # ~Ó6Ð6ØˆØ�k‰k‹mˆàØ×%Ñ% cÓ*‰FˆAØ�DŒyØ�T˜A•X•‘à•�Ø�CŽxØä˜‹|˜SÐ Ð r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r  r,  )r   r   s   "€r   r   rþ     s%   ø€ ÷ #ñ #¡(ð #©u±W¹hÐ5FÕ/Gñ #r   c                óÎ   € VP                  4       R 8w  d   \        VR4      hVP                  4       pRp V P                  V4      w  r1VR 8X  d   M
W#,          pK&  \	        V4      V3# )r{   zExpected '"'r$   )r'   rF   r   r)  rw   r0  s   &&  r   Ú_parse_literalÚGrammarParser._parse_literal  sb   € Ø�;‰;‹=˜CÔÜ! # Ó7Ð7Ø�k‰k‹mˆØˆàØ×%Ñ% cÓ*‰FˆAØ�CŒxØØ�FŠAä˜1‹~˜sÐ"Ð"r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r  r  )r   r   s   "€r   r   rþ     s$   ø€ ÷ .ñ .™ð .¡e©C±¨MÕ&:ñ .r   c                óþ   € V P                   p\        P                  V P                  4       4      '       d   V P	                  4       p K;  V P                   V8X  d   \        V R 4      hV P                  WP                    V 3# )zExpected name)r   rû   Ú_is_word_charr'   r   rF   r   ©r   Ústarts   & r   Ú_parse_nameÚGrammarParser._parse_name  s^   € à—‘ˆÜ×)Ñ)¨#¯+©+«-×8Ò8Ø—+‘+“-ŠCØ�7‰7�eÔÜ! # Ó7Ð7Ø�x‰x˜§¡Ð(¨#Ð-Ð-r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r  )r   r   r   )r   r   s   "€r   r   rþ     s$   ø€ ÷ 3ñ 3™ð 3¡U©3±¨=Õ%9ñ 3r   c                ó  € V P                   pV P                  4       P                  4       '       d   V P                  4       p K6  V P                   V8X  d   \	        V R 4      h\        V P                  WP                    4      V 3# )zExpected integer)r   r'   Úisdigitr   rF   r   r   r;  s   & r   Ú
_parse_intÚGrammarParser._parse_int  sb   € à—‘ˆØ�k‰k‹m×#Ñ#×%Ò%Ø—+‘+“-ŠCØ�7‰7�eÔÜ! #Ð'9Ó:Ð:Ü�3—8‘8˜E§G¡GÐ,Ó-¨sÐ2Ð2r   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )r   r   r  r   )r   rY   )r   r   s   "€r   r   rþ   !  s"   ø€ ÷ ñ ™xð ¹ð Á(ñ r   c                ó(  € VP                  4       '       dü   VP                  4       R 9   d   VP                  4       pK=  V'       d-   VP                  4       R9   d   \        P                  V4      pKq  VP                  4       R8X  d‰   VP                  4       pRpVP                  4       '       d>   VP                  4       R9  d)   W1P                  4       ,          pVP                  4       pKS  V ;P                  VR,           ,          un        EK   V# V# )z 	ú
Ú#z//r/   )r'   r   rû   Ú_skip_newliner  )r   r   r  Úcmts   &&& r   r	  ÚGrammarParser._skip_space!  s¹   € Ø�k‰k�mŠmØ�{‰{‹} Ô%Ø—k‘k“m’ß C§K¡K£M°VÔ$;Ü#×1Ñ1°#Ó6’Ø—‘“ #Ô%Ø—k‘k“m�Ø�Ø—k‘k—m’m¨¯©«¸VÔ(CØŸ;™;›=Õ(�CØŸ+™+›-’CØ×!Ò! S¨4¥ZÕ/×!Ð!àØˆ
ˆsˆ
r   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r  )r   )r   r   s   "€r   r   rþ   3  s   ø€ ÷ ñ ™8ð ©ñ r   c                óè   € V P                  4       R 8X  d8   V P                  4       p V P                  4       R8X  d   V P                  4       p V # V P                  4       R8X  d   V P                  4       p V # )Úr/   )r'   r   rO   s   &r   rH  ÚGrammarParser._skip_newline2  s[   € à�;‰;‹=˜DÔ Ø—+‘+“-ˆCØ�{‰{‹} Ô$Ø—k‘k“m�ð ˆ
ð �[‰[‹]˜dÔ"Ø—+‘+“-ˆCØˆ
r   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   rb   r   r  )r   r   s   "€r   r   rþ   =  s   ø€ ÷ 3ñ 3™ð 3¡ñ 3r   c                óV   € V P                  4       ;'       g    V R 8H  ;'       g    V R8H  # )Ú-Ú_)Úisalnum)rb   s   &r   r:  ÚGrammarParser._is_word_char<  s&   € à�y‰y‹{×2Ð2˜a 3™h×2Ð2¨!¨s©(Ð2r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# r  )r   r   r–   )r   r   s   "€r   r   rþ   @  s%   ø€ ÷ 6ñ 6™xð 6©E±(¹HÐ2DÕ,Eñ 6r   c                óh  € V P                  V4      w  r!V P                  VR R7      pVP                  ^4      R8w  d   \        VR4      hVP	                  ^4      pV P                  VRR7      pV P                  VR R7      w  r1V P                  V4      pV P                  pRV n        \        W#V4      V3# )Fr  z::=zExpected ::=T©Ú	is_nestedr$   )	r=  r	  r+   rF   r   Ú_parse_alternativesrH  r  r–   )r   r   r“   rÝ   rI  s   &&   r   r
  ÚGrammarParser._parse_rule@  sµ   € Ø×$Ñ$ SÓ)‰	ˆØ×Ñ˜s°5ÐÓ9ˆà�8‰8�A‹;˜%ÔÜ! # ~Ó6Ð6Ø�k‰k˜!‹nˆà×Ñ˜s°4ÐÓ8ˆØ ×4Ñ4°SÀEÐ4ÓJÑˆà× Ñ  Ó%ˆØ×ÑˆØˆÔÜ˜¨CÓ0°#Ð5Ð5r   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# ©r   r   rX  r   )r   rY   r   rÓ   )r   r   s   "€r   r   rþ   P  s/   ø€ ÷ 2ñ 2Ùð2Ù(,ð2á	‰¡Ð(Õ	)ñ2r   c                ó  € . p V P                  W4      w  rAVP                  V4       V P                  WR7      pVP                  4       R8w  d   M%VP	                  4       pV P                  VR R7      pKr  \        V4      V3# )Tr  Ú|)Ú_parse_sequencer  r	  r'   r   rÓ   )r   r   rX  rÝ   Úsequences   &&&  r   rY  Ú!GrammarParser._parse_alternativesP  s€   € ð ')ˆàØ ×0Ñ0°Ó@‰MˆHØ×Ñ Ô)à×"Ñ" 3Ð"ÓAˆCØ�{‰{‹} Ô#Øà—+‘+“-ˆCØ×"Ñ" 3°tÐ"Ó<ŠCä˜|Ó,¨cÐ1Ð1r   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# r\  )r   rY   r   rµ   )r   r   s   "€r   r   rþ   b  s/   ø€ ÷  (ñ  (Ùð (Ù(,ð (á	‰|™XÐ%Õ	&ñ (r   c                ó®  € . pVP                  4       '       Ed±   VP                  4       R 9  Ed›   V'       g   VP                  4       R9  Ed}   VP                  4       R8X  d'   V P                  V4      w  rAVP                  V4       EM	VP                  4       R8X  d&   V P                  V4      w  rAVP                  V4       MÏVP                  4       R8X  d'   V P	                  WR7      w  rAVP                  V4       M”VP                  4       R8X  d,   VP                  \        R4      4       VP                  4       pMTV P                  VP                  4       4      '       d/   V P                  V4      w  rQVP                  \        V4      4       MM8V P                  WR7      pV P                  W4      pV P                  WR7      pEKÇ  \        V4      V3# )z|)rF  r{   r.  r¦   rW  Ú.r  )r'   r6  r  r2  Ú_parse_groupr�   r   r:  r=  rŠ   r	  Ú_parse_repetitionrµ   )r   r   rX  r½   rž   r“   s   &&&   r   r_  ÚGrammarParser._parse_sequenceb  sg  € ð  "ˆð �K‰K�M‹MØ—‘“ TÕ)ß˜cŸk™k›m°6Õ9à�{‰{‹} Ô#Ø ×/Ñ/°Ó4‘	�Ø—‘˜TÖ"Ø—‘“ #Ô%Ø ×2Ñ2°3Ó7‘	�Ø—‘˜TÕ"Ø—‘“ #Ô%Ø ×-Ñ-¨cÐ-ÓG‘	�Ø—‘˜TÕ"Ø—‘“ #Ô%Ø—‘œY s›^Ô,Ø—k‘k“m‘Ø×#Ñ# C§K¡K£M×2Ò2Ø ×,Ñ,¨SÓ1‘	�Ø—‘œ[¨Ó.Õ/àà×"Ñ" 3Ð"ÓAˆCØ×(Ñ(¨Ó4ˆCØ×"Ñ" 3Ð"ÓA‹Cä˜EÓ" CÐ'Ð'r   c                óB   <€ V ^8„  d   QhRS[ RS[RS[S[S[ 3,          /# r\  )r   rY   r   rR   )r   r   s   "€r   r   rþ   „  s,   ø€ ÷ >ñ >¡ð >±Tð >¹eÁGÉXÐDUÕ>Vñ >r   c                ó8  € VP                  4       R 8w  d   \        VR4      hVP                  4       pV P                  VR4      pV P	                  VRR7      w  r1VP                  4       R8w  d   \        VR4      hVP                  4       pW0P                  W4      3# )r¦   zExpected '('TrW  r§   zExpected ')')r'   rF   r   r	  rY  )r   r   rX  rÝ   s   &&& r   re  ÚGrammarParser._parse_group„  sŒ   € Ø�;‰;‹=˜CÔÜ! # ~Ó6Ð6Ø�k‰k‹mˆØ×Ñ˜s DÓ)ˆà ×4Ñ4°SÀDÐ4ÓIÑˆà�;‰;‹=˜CÔÜ! # ~Ó6Ð6Ø�k‰k‹mˆà×-Ñ-¨cÓ=Ð=Ð=r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[ /# )r   r   r½   r   )r   r   rR   )r   r   s   "€r   r   rþ   ’  s&   ø€ ÷ #ñ #¡Xð #±d¹7µmð #Éñ #r   c                óX  € V'       g   V# VP                  4       R 8X  d(   \        VR
,          ^ R4      VR
&   VP                  4       # VP                  4       R8X  d(   \        VR
,          ^R4      VR
&   VP                  4       # VP                  4       R8X  d(   \        VR
,          ^ ^4      VR
&   VP                  4       # VP                  4       R8X  EdV   VP                  4       pV P                  VR4      pV P	                  V4      w  r1V P                  VR4      pVP                  4       R8X  d'   \        VR
,          W34      VR
&   VP                  4       # VP                  4       R8X  d³   V P                  VP                  4       R4      pRpVP                  4       P                  4       '       d   V P	                  V4      w  rAV P                  VR4      pVP                  4       R8w  d   \        VR4      h\        VR
,          W44      VR
&   VP                  4       # \        VR	4      hV# )r¨   Nr©   rª   r«   Tr­   r¬   zExpected '}'zExpected ',' or '}'éÿÿÿÿ)r'   r˜   r   r	  rB  rA  rF   )r   r   r½   r®   r¯   s   &&&  r   rf  ÚGrammarParser._parse_repetition’  sÅ  € ßØˆJà�;‰;‹=˜CÔÜ& u¨R¥y°!°TÓ:ˆE�"‰IØ—;‘;“=Ð Ø�[‰[‹]˜cÔ!Ü& u¨R¥y°!°TÓ:ˆE�"‰IØ—;‘;“=Ð Ø�[‰[‹]˜cÔ!Ü& u¨R¥y°!°QÓ7ˆE�"‰IØ—;‘;“=Ð Ø�[‰[‹]˜cÕ!Ø—+‘+“-ˆCØ×"Ñ" 3¨Ó-ˆCØ!Ÿ_™_¨SÓ1‰NˆIØ×"Ñ" 3¨Ó-ˆCà�{‰{‹} Ô#Ü*¨5°­9°iÓK��b‘	Ø—{‘{“}Ð$Ø—‘“ #Ô%Ø×&Ñ& s§{¡{£}°dÓ;�Ø �	Ø—;‘;“=×(Ñ(×*Ò*Ø%)§_¡_°SÓ%9‘N�IØ×&Ñ& s¨DÓ1�Ø—;‘;“= CÔ'Ü)¨#¨~Ó>Ð>Ü*¨5°­9°iÓK��b‘	Ø—{‘{“}Ð$ä% cÐ+@ÓAÐAàˆ
r   r   N)r<   r=   r>   r?   rL   r  r)  r2  r6  Ústaticmethodr=  rB  r	  rH  r:  r
  rY  r_  re  rf  rB   rC   rD   s   @r   rû   rû   µ   sÅ   ø‡ € ÷ð ÷
3ð 
3÷(,ð (,÷T!ð !÷"#ð #ð ÷.ó ð.ð ÷3ó ð3÷ð ð" ÷ó ðð ÷3ó ð3÷6ð 6÷ 2ð 2÷$ (ð  (÷D>ð >÷#ö #r   rû   c                óJ   € V ^8„  d   QhR\         \        \        3,          RR/# )r   r  r   N)r  r"   r–   )r   s   "r   r   r   ¸  s#   € ÷ 1 ñ 1 ”4œœX˜Õ&ð 1 ¨4ñ 1 r   c                 óZ  a a€ R  V 3R llp\        S P                  4       4       F*  w  r#W#n        VP                  P	                  4       Vn        K,  	  R V3R lloS P                  4        Fl  pS! V4       F]  p\        V\        4      '       g   K  VP                  S 9  d   \        RVP                   R24      hS VP                  ,          Vn	        K_  	  Kn  	  RS 9  d   \        R4      hV! S R,          R4       ^pV^ 8”  du   ^ pS P                  4        F\  pVP                  R8w  g   K  VP                  '       d   K*  VP                  P                  4       '       g   KL  R	Vn
        V^,          pK^  	  K{  \        S P                  4       4       F“  pVP                  P                  R
R4      p\        P                  ! RRV4      P!                  4       pVP                  '       d   VP#                  4       pMVP!                  4       pVP                  V8w  g   K‹  V! W64       K•  	  R# )c                ó4   € V ^8„  d   QhR\         R\        RR/# )r   r1  r“   r   N)r–   r"   )r   s   "r   r   Úresolve.<locals>.__annotate__¹  s!   € ÷ ñ ”(ð ¤#ð ¨$ñ r   c                 ód   <€ VS9   d   \        R V R24      hSV P                   Wn        V SV&   R# )úRule 'z' already existsN)Ú	Exceptionr“   )r1  r“   r  s   &&€r   ÚrenameÚresolve.<locals>.rename¹  s8   ø€ Ø�5Œ=Ü˜f T FÐ*:Ð;Ó<Ð<Ø�!—&‘&ˆMØŒØˆˆd‹r   c                óF   € V ^8„  d   QhR\         R\        \         ,          /# )r   rž   r   )rR   r   )r   s   "r   r   rs  Ä  s   € ÷ 'ñ 'œ7ð '¤x´Õ'8ñ 'r   c              3   ój   <"  € V P                  4        F  pVx € S! V4       R j  x€L
  K  	  R #  L
5ir   )rf   )rž   rb   Úall_childrens   & €r   r{  Úresolve.<locals>.all_childrenÄ  s+   øé € Ø—‘–ˆAØŠGÙ# A“×&Ò&ó !á&ùs   ƒ#3¦1§3ru  z' not foundÚrootzNo 'root' rule foundr<  TrQ  rR  z([a-z])([A-Z])z\1_\2N)Ú	enumerateÚvaluesrù   rÝ   rp   Ú
isinstancerŠ   r“   rv  rŽ   r�   r`   rs   ÚreplaceÚreÚsubÚlowerÚupper)r  rw  rË   r1  rž   Únum_fixÚnew_namer{  s   f      @r   Úresolverˆ  ¸  sª  ù€ ÷ð ô ˜%Ÿ,™,›.Ö)‰ˆØŒØŸ™×0Ñ0Ó2ˆŽñ *÷'ð 'ð
 �\‰\Ž^ˆÙ  –OˆDÜ˜$¤×,Ô,Ø—9‘9 EÔ)Ü# f¨T¯Y©Y¨K°{Ð$CÓDÐDØ# D§I¡IÕ.�–ó	 $ñ ð �UÔÜÐ.Ó/Ð/Ù
ˆ5��=˜'Ô"à€GØ
�AŒ+ØˆØ—‘–ˆAà—‘˜'Ö!Ø×*×*Ò*Ø—N‘N×.Ñ.×0Ô0à%)�Ô"Ø˜1•’ó  ô �%—,‘,“.Ö!ˆØ—6‘6—>‘> # sÓ+ˆä—6’6Ð+¨X°xÓ@×FÑFÓHˆØ××ÐØ—~‘~Ó'‰Hà—~‘~Ó'ˆHØ�6‰6�XÖÙ�1Öó "r   c                ó0   € V ^8„  d   QhR\         R\         /# r  r!   )r   s   "r   r   r   ì  s   € ÷ ñ ”sð œsñ r   c                óX  € \        4       pVP                  V 4      p\        V4       \        VP	                  4       4      pVP                  R R7       RpRpV FM  p\        V4      pV'       g   RV9   d
   VR,          pWGR,           ,          pRV9   pV'       g   KD  VR,          pKO  	  V# )z4
Convert a GBNF (llama.cpp) grammar to Lark syntax.
c                 ó   € V P                   # r   )rù   )r1  s   &r   Ú<lambda>Úgbnf_to_lark.<locals>.<lambda>ô  s   € ˜QŸWšWr   )Úkeyz%llguidance {}

Tr/   )rû   r  rˆ  rs   r  Úsortr"   )r   Úparserr  ÚrlistÚresÚprev_nlr1  r  s   &       r   Úgbnf_to_larkr”  ì  s—   € ô ‹_€FØ�L‰L˜Ó€EÜˆE„NÜ�—‘“Ó €EØ	‡J�JÑ$€JÔ%Ø
€CØ€GÛˆÜ�‹Fˆß˜4 1œ9Ø�4�KˆCØ�4�x�ˆØ˜!‘)ˆß‰7Ø�4�KŠCñ ð €Jr   c                ó0   € V ^8„  d   QhR\         R\        /# r  r  )r   s   "r   r   r     s   € ÷ Mñ Mœð M¤ñ Mr   c                ó4   € \         P                  ! RV 4      RJ# )z.
Check if the text is already in Lark syntax.
z!(?m)^\s*(%llguidance\b|start\s*:)N)r‚  Úsearch©r   s   &r   Úis_lark_syntaxr™    s   € ô �9Š9Ð9¸4Ó@ÈÐLÐLr   c                ó0   € V ^8„  d   QhR\         R\         /# r  r!   )r   s   "r   r   r   	  s   € ÷ ñ ”cð œcñ r   c                ó>   € \        V 4      '       d   V # \        V 4      # )z-
Convert a grammar to Lark syntax if needed.
)r™  r”  r˜  s   &r   Úany_to_larkrœ  	  s   € ô �d×ÒØˆÜ˜ÓÐr   c                ó   € V ^8„  d   QhRR/# rý   r9   )r   s   "r   r   r     s   € ÷ ñ ˆdñ r   c                  óÚ   a€ ^ RI p ^ RIoR V3R llp\        V P                  4      ^8  d   \	        R4       V P                  ^4       V P                  R,           F  pV! V4       K  	  R# )r   Nc                ó(   € V ^8„  d   QhR\         RR/# )r   Úfnr   Nr!   )r   s   "r   r   Úmain.<locals>.__annotate__  s   € ÷ ñ œð  ñ r   c                 ó¨  <€ \        V  R 2RRR7       \        V 4      ;_uu_ 4       pVP                  4       pRRR4       \        X4      pSP                  P                  V 4      ^ ,          R,           p\        VR4      ;_uu_ 4       pVP                  V4       RRR4       \        R4       R#   + '       g   i     L; i  + '       g   i     L0; i)z... r$   T)ÚendÚflushNz.larkÚwÚOK)ÚprintÚopenÚreadr”  ÚpathÚsplitextÚwrite)r   Úfr   ÚlarkÚfn_larkÚoss   &    €r   Úprocess_fileÚmain.<locals>.process_file  s�   ø€ Ü���Dˆk˜r¨Õ.Ü�"�XŒX˜Ø—6‘6“8ˆD÷ ä˜DÓ!ˆØ—'‘'×"Ñ" 2Ó& qÕ)¨GÕ3ˆÜ�'˜3×Ô 1Ø�G‰G�DŒM÷  ä�Ž÷ �Xú÷  ×ús   ¦B.ÂCÂ.B>	ÃC	z*Usage: gbnf_to_lark.py <file1> <file2> ...:r;   NN)Úsysr°  r%   Úargvr§  Úexit)r³  r±  r   r°  s      @r   Úmainr¶    sU   ø€ ÛÛ÷ð ô ˆ3�8‰8ƒ}�qÔÜÐ:Ô;Ø�‰�ŒØ�h‰h�r�lˆlˆÙ�RÖó r   Ú__main__)Údataclassesr   Útypingr   r   r   r   Úabcr   r	   r‚  r   rv  rF   rR   rw   r�   rŠ   r˜   rµ   rÓ   r–   rû   rˆ  r”  r™  rœ  r¶  r<   r9   r   r   Ú<module>r»     sC  ðõ "ß 2Ó 2ß #Û 	ð ÷>ð >ó ð>ô,0�iô 0ôˆcô ð* ô!�'ó !ó ð!ð ô�ó ó ðð ô �'ó  ó ð ð ô8�Wó 8ó ð8ð4 ô�7ó ó ðð, ô!�gó !ó ð!ð. ôKˆwó Kó ðK÷@ñ @õF1 õhõ,Mõõð* ˆzÔÙ†Fñ r   