§
    ZQd6  ã                   óœ   — d dl mZmZmZ  G d„ dej        ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z	dd„Z
dS )é   )ÚgrammarÚtokenÚtokenizec                   ó   — e Zd ZdS )ÚPgenGrammarN)Ú__name__Ú
__module__Ú__qualname__© ó    ú)/usr/lib/python3.11/lib2to3/pgen2/pgen.pyr   r      s   € € € € € Ø€Dr   r   c                   ó~   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Zd„ ZdS )ÚParserGeneratorNc                 óN  — d }|€t          |d¬¦  «        }|j        }|| _        || _        t	          j        |j        ¦  «        | _        |                      ¦   «          |  	                    ¦   «         \  | _
        | _        |�
 |¦   «          i | _        |                      ¦   «          d S )Nzutf-8)Úencoding)ÚopenÚcloseÚfilenameÚstreamr   Úgenerate_tokensÚreadlineÚ	generatorÚgettokenÚparseÚdfasÚstartsymbolÚfirstÚaddfirstsets)Úselfr   r   Úclose_streams       r   Ú__init__zParserGenerator.__init__   s›   € ØˆØˆ>Ý˜(¨WÐ5Ñ5Ô5ˆFØ!œ<ˆLØ ˆŒØˆŒÝ!Ô1°&´/ÑBÔBˆŒØ�Š‰ŒˆØ&*§j¢j¡l¤lÑ#ˆŒ	�4Ô#ØÐ#ØˆL‰NŒNˆNØˆŒ
Ø×ÒÑÔÐÐÐr   c           	      ó²  — t          ¦   «         }t          | j                             ¦   «         ¦  «        }|                     ¦   «          |                     | j        ¦  «         |                     d| j        ¦  «         |D ]-}dt          |j	        ¦  «        z   }||j	        |<   ||j
        |<   Œ.|D �]}| j        |         }g }|D ]´}g }t          |j                             ¦   «         ¦  «        D ]C\  }	}
|                     |                      ||	¦  «        |                     |
¦  «        f¦  «         ŒD|j        r*|                     d|                     |¦  «        f¦  «         |                     |¦  «         Œµ|j                             |¦  «         ||                      ||¦  «        f|j        |j	        |         <   �Œ|j	        | j                 |_        |S )Né    é   )r   Úlistr   ÚkeysÚsortÚremover   ÚinsertÚlenÚsymbol2numberÚnumber2symbolÚsortedÚarcsÚitemsÚappendÚ
make_labelÚindexÚisfinalÚstatesÚ
make_firstÚstart)r   ÚcÚnamesÚnameÚiÚdfar4   Ústater.   ÚlabelÚnexts              r   Úmake_grammarzParserGenerator.make_grammar   sÂ  € Ý‰MŒMˆÝ�T”Y—^’^Ñ%Ô%Ñ&Ô&ˆØ�
Š
‰ŒˆØ�Š�TÔ%Ñ&Ô&Ð&Ø�Š�Q˜Ô(Ñ)Ô)Ð)Øð 	&ð 	&ˆDØ•c˜!œ/Ñ*Ô*Ñ*ˆAØ$%ˆAŒO˜DÑ!Ø!%ˆAŒO˜AÑÐØð 	Oñ 	OˆDØ”)˜D”/ˆCØˆFØð $ð $�Ø�Ý#)¨%¬*×*:Ò*:Ñ*<Ô*<Ñ#=Ô#=ð Nð N‘K�E˜4Ø—K’K §¢°°EÑ!:Ô!:¸C¿IºIÀd¹O¼OÐ LÑMÔMÐMÐMØ”=ð 7Ø—K’K  C§I¢I¨eÑ$4Ô$4Ð 5Ñ6Ô6Ð6Ø—’˜dÑ#Ô#Ð#Ð#ØŒH�OŠO˜FÑ#Ô#Ð#Ø-3°T·_²_ÀQÈÑ5MÔ5MÐ,NˆAŒF�1”? 4Ô(Ñ)Ñ)Ø”/ $Ô"2Ô3ˆŒØˆr   c                 ó~   — | j         |         }i }t          |¦  «        D ]}|                      ||¦  «        }d||<   Œ|S ©Nr   )r   r-   r1   )r   r7   r9   Úrawfirstr   r=   Úilabels          r   r5   zParserGenerator.make_first4   sM   € Ø”:˜dÔ#ˆØˆÝ˜HÑ%Ô%ð 	ð 	ˆEØ—_’_ Q¨Ñ.Ô.ˆFàˆE�&‰MˆMØˆr   c                 óÂ  — t          |j        ¦  «        }|d                              ¦   «         rÝ||j        v rI||j        v r|j        |         S |j                             |j        |         d f¦  «         ||j        |<   |S t          t          |d ¦  «        }t          |t          ¦  «        s
J |¦   «         ‚|t          j
        v s
J |¦   «         ‚||j        v r|j        |         S |j                             |d f¦  «         ||j        |<   |S |d         dv s
J |¦   «         ‚t          |¦  «        }|d                              ¦   «         rH||j        v r|j        |         S |j                             t          j        |f¦  «         ||j        |<   |S t          j        |         }||j        v r|j        |         S |j                             |d f¦  «         ||j        |<   |S )Nr#   )ú"ú')r*   ÚlabelsÚisalphar+   Úsymbol2labelr0   Úgetattrr   Ú
isinstanceÚintÚtok_nameÚtokensÚevalÚkeywordsÚNAMEr   Úopmap)r   r7   r=   rC   ÚitokenÚvalues         r   r1   zParserGenerator.make_label=   sç  € å�Q”X‘”ˆØ�Œ8×ÒÑÔð )	"à˜œÐ'Ð'à˜AœNÐ*Ð*Øœ>¨%Ô0Ð0à”H—O’O Q¤_°UÔ%;¸TÐ$BÑCÔCÐCØ,2�A”N 5Ñ)Ø!�Mõ !¥¨¨tÑ4Ô4�Ý! &­#Ñ.Ô.Ð5Ð5°Ñ5Ô5Ð5Ø¥¤Ð/Ð/Ð/°Ñ/Ô/Ð/Ø˜QœXÐ%Ð%Øœ8 FÔ+Ð+à”H—O’O V¨T NÑ3Ô3Ð3Ø'-�A”H˜VÑ$Ø!�Mð ˜”8˜zÐ)Ð)Ð)¨5Ñ)Ô)Ð)Ý˜‘K”KˆEØ�QŒx×ÒÑ!Ô!ð "à˜AœJÐ&Ð&Øœ: eÔ,Ð,à”H—O’O¥U¤Z°Ð$7Ñ8Ô8Ð8Ø(.�A”J˜uÑ%Ø!�Mõ !œ uÔ-�Ø˜QœXÐ%Ð%Øœ8 FÔ+Ð+à”H—O’O V¨T NÑ3Ô3Ð3Ø'-�A”H˜VÑ$Ø!�Mr   c                 óÀ   — t          | j                             ¦   «         ¦  «        }|                     ¦   «          |D ] }|| j        vr|                      |¦  «         Œ!d S ©N)r%   r   r&   r'   r   Ú	calcfirst)r   r8   r9   s      r   r   zParserGenerator.addfirstsetsk   sa   € Ý�T”Y—^’^Ñ%Ô%Ñ&Ô&ˆØ�
Š
‰ŒˆØð 	%ð 	%ˆDØ˜4œ:Ð%Ð%Ø—’˜tÑ$Ô$Ð$øð	%ð 	%r   c                 ó.  — | j         |         }d | j        |<   |d         }i }i }|j                             ¦   «         D ]‚\  }}|| j         v rh|| j        v r"| j        |         }|€t	          d|z  ¦  «        ‚n"|                      |¦  «         | j        |         }|                     |¦  «         |||<   Œvd||<   |di||<   Œƒi }	|                     ¦   «         D ]4\  }}
|
D ],}||	v r!t	          d|›d|›d|›d|	|         ›�¦  «        ‚||	|<   Œ-Œ5|| j        |<   d S )Nr#   zrecursion for rule %rr   zrule z is ambiguous; z is in the first sets of z as well as )r   r   r.   r/   Ú
ValueErrorrW   Úupdate)r   r9   r;   r<   ÚtotalsetÚoverlapcheckr=   r>   ÚfsetÚinverseÚitsfirstÚsymbols               r   rW   zParserGenerator.calcfirsts   s†  € ØŒi˜ŒoˆØˆŒ
�4ÑØ�A”ˆØˆØˆØ œ:×+Ò+Ñ-Ô-ð 	1ð 	1‰KˆE�4Ø˜œ	Ð!Ð!Ø˜DœJÐ&Ð&Øœ: eÔ,�DØ�|Ý(Ð)@À4Ñ)GÑHÔHÐHð $ð —N’N 5Ñ)Ô)Ð)Øœ: eÔ,�DØ—’ Ñ%Ô%Ð%Ø&*�˜UÑ#Ð#à"#�˜‘Ø',¨a j�˜UÑ#Ð#ØˆØ+×1Ò1Ñ3Ô3ð 	(ð 	(‰OˆE�8Ø"ð (ð (�Ø˜WÐ$Ð$Ý$˜*à&* d d¨F¨F¨F°E°E°E¸7À6¼?¸?ð&Lñ Mô Mð Mð #(�˜‘�ð(ð $ˆŒ
�4ÑÐÐr   c                 ót  — i }d }| j         t          j        k    �r| j         t          j        k    r)|                      ¦   «          | j         t          j        k    °)|                      t          j        ¦  «        }|                      t          j        d¦  «         |                      ¦   «         \  }}|                      t          j        ¦  «         |  	                    ||¦  «        }t          |¦  «        }|                      |¦  «         t          |¦  «        }|||<   |€|}| j         t          j        k    �°||fS )Nú:)Útyper   Ú	ENDMARKERÚNEWLINEr   ÚexpectrQ   ÚOPÚ	parse_rhsÚmake_dfar*   Úsimplify_dfa)	r   r   r   r9   ÚaÚzr;   ÚoldlenÚnewlens	            r   r   zParserGenerator.parse‘   s	  € ØˆØˆàŒi�5œ?Ò*Ñ*Ø”)�uœ}Ò,Ð,Ø—’‘”�ð ”)�uœ}Ò,Ð,ð —;’;�uœzÑ*Ô*ˆDØ�KŠK�œ #Ñ&Ô&Ð&Ø—>’>Ñ#Ô#‰DˆAˆqØ�KŠK�œÑ&Ô&Ð&à—-’-  1Ñ%Ô%ˆCå˜‘X”XˆFØ×Ò˜cÑ"Ô"Ð"Ý˜‘X”XˆFØˆD�‰JàÐ"Ø"�ð# Œi�5œ?Ò*Ñ*ð$ �[Ð Ð r   c           
      ó  ‡— t          |t          ¦  «        sJ ‚t          |t          ¦  «        sJ ‚ˆfd„}ˆfd„Št           ||¦  «        |¦  «        g}|D ]±}i }|j        D ]1}|j        D ]'\  }}	|�  ‰|	|                     |i ¦  «        ¦  «         Œ(Œ2t          |                     ¦   «         ¦  «        D ]R\  }}
|D ]}|j        |
k    r n&Œt          |
|¦  «        }|                     |¦  «         | 	                    ||¦  «         ŒSŒ²|S )Nc                 ó$   •— i } ‰| |¦  «         |S rV   r   )r<   ÚbaseÚ
addclosures     €r   Úclosurez)ParserGenerator.make_dfa.<locals>.closure°   s   ø€ ØˆDØˆJ�u˜dÑ#Ô#Ð#ØˆKr   c                 ó‚   •— t          | t          ¦  «        sJ ‚| |v rd S d|| <   | j        D ]\  }}|€ ‰||¦  «         Œd S rA   )rK   ÚNFAStater.   )r<   rq   r=   r>   rr   s       €r   rr   z,ParserGenerator.make_dfa.<locals>.addclosure´   sg   ø€ Ý˜e¥XÑ.Ô.Ð.Ð.Ð.Ø˜ˆ}ˆ}Ø�ØˆD�‰KØ$œzð +ð +‘��tØ�=Ø�J˜t TÑ*Ô*Ð*øð+ð +r   )
rK   ru   ÚDFAStateÚnfasetr.   Ú
setdefaultr-   r/   r0   Úaddarc)r   r6   Úfinishrs   r4   r<   r.   Únfastater=   r>   rw   Ústrr   s               @r   ri   zParserGenerator.make_dfa©   s{  ø€ õ
 ˜%¥Ñ*Ô*Ð*Ð*Ð*Ý˜&¥(Ñ+Ô+Ð+Ð+Ð+ð	ð 	ð 	ð 	ð 	ð	+ð 	+ð 	+ð 	+ð 	+õ ˜7˜7 5™>œ>¨6Ñ2Ô2Ð3ˆØð 	(ð 	(ˆEØˆDØ!œLð Eð E�Ø#+¤=ð Eð E‘K�E˜4ØÐ(Ø"˜
 4¨¯ª¸ÀÑ)CÔ)CÑDÔDÐDøðEõ "(¨¯
ª
©¬Ñ!5Ô!5ð (ð (‘��vØ ð &ð &�BØ”y FÒ*Ð*Ø˜ð +õ " &¨&Ñ1Ô1�BØ—M’M "Ñ%Ô%Ð%Ø—’˜R Ñ'Ô'Ð'Ð'ð(ð ˆr   c                 ól  — t          d|¦  «         |g}t          |¦  «        D ]�\  }}t          d|||u rdpd¦  «         |j        D ]l\  }}||v r|                     |¦  «        }	n$t	          |¦  «        }	|                     |¦  «         |€t          d|	z  ¦  «         ŒXt          d||	fz  ¦  «         ŒmŒ‘d S )NzDump of NFA forú  Stateú(final)Ú z	    -> %dú    %s -> %d)ÚprintÚ	enumerater.   r2   r*   r0   )
r   r9   r6   rz   Útodor:   r<   r=   r>   Újs
             r   Údump_nfazParserGenerator.dump_nfaÍ   sä   € ÝÐ Ñ&Ô&Ð&ØˆwˆÝ! $™œð 	7ð 	7‰HˆAˆuÝ�)˜Q ¨ Ð =°IÐ CÀÑDÔDÐDØ$œzð 	7ð 	7‘��tØ˜4�<�<ØŸ
š
 4Ñ(Ô(�A�Aå˜D™	œ	�AØ—K’K Ñ%Ô%Ð%Ø�=Ý˜+¨™/Ñ*Ô*Ð*Ð*å˜.¨E°1¨:Ñ5Ñ6Ô6Ð6Ð6ð	7ð	7ð 	7r   c           	      ó*  — t          d|¦  «         t          |¦  «        D ]r\  }}t          d||j        rdpd¦  «         t          |j                             ¦   «         ¦  «        D ],\  }}t          d||                     |¦  «        fz  ¦  «         Œ-Œsd S )NzDump of DFA forr~   r   r€   r�   )r‚   rƒ   r3   r-   r.   r/   r2   )r   r9   r;   r:   r<   r=   r>   s          r   Údump_dfazParserGenerator.dump_dfaÝ   s®   € ÝÐ Ñ&Ô&Ð&Ý! #™œð 	Að 	A‰HˆAˆuÝ�)˜Q ¤Ð ;°)Ð A¸rÑBÔBÐBÝ% e¤j×&6Ò&6Ñ&8Ô&8Ñ9Ô9ð Að A‘��tÝ�n¨¨s¯yªy¸©¬Ð'?Ñ?Ñ@Ô@Ð@Ð@ðAð	Að 	Ar   c                 óê   — d}|rnd}t          |¦  «        D ]X\  }}t          |dz   t          |¦  «        ¦  «        D ]2}||         }||k    r"||= |D ]}|                     ||¦  «         Œd} nŒ3ŒY|°ld S d S )NTFr   )rƒ   Úranger*   Ú
unifystate)r   r;   Úchangesr:   Ústate_ir…   Ústate_jr<   s           r   rj   zParserGenerator.simplify_dfaä   sÃ   € ð ˆØð 	ØˆGÝ'¨™nœnð 	ð 	‘
��7Ý˜q ™s¥C¨¡H¤HÑ-Ô-ð ð �AØ! !œf�GØ 'Ò)Ð)à ˜FØ%(ð ?ð ?˜EØ!×,Ò,¨W°gÑ>Ô>Ð>Ð>Ø"&˜Ø˜ð *øð ð 	ð 	ð 	ð 	ð 	r   c                 ó¸  — |                       ¦   «         \  }}| j        dk    r||fS t          ¦   «         }t          ¦   «         }|                     |¦  «         |                     |¦  «         | j        dk    r`|                      ¦   «          |                       ¦   «         \  }}|                     |¦  «         |                     |¦  «         | j        dk    °`||fS )Nú|)Ú	parse_altrT   ru   ry   r   )r   rk   rl   ÚaaÚzzs        r   rh   zParserGenerator.parse_rhsù   sÀ   € à�~Š~ÑÔ‰ˆˆ1ØŒ:˜ÒÐØ�a�4ˆKå‘”ˆBÝ‘”ˆBØ�IŠI�a‰LŒLˆLØ�HŠH�R‰LŒLˆLØ”* Ò#Ð#Ø—’‘”�Ø—~’~Ñ'Ô'‘��1Ø—	’	˜!‘”�Ø—’˜‘”�ð	 ”* Ò#Ð#ð
 �r�6ˆMr   c                 ó4  — |                       ¦   «         \  }}| j        dv s| j        t          j        t          j        fv rV|                       ¦   «         \  }}|                     |¦  «         |}| j        dv °7| j        t          j        t          j        fv °V||fS )N)ú(ú[)Ú
parse_itemrT   rc   r   rQ   ÚSTRINGry   )r   rk   Úbr7   Úds        r   r‘   zParserGenerator.parse_alt
  s�   € à�ŠÑ Ô ‰ˆˆ1ØŒz˜ZÐ'Ð'ØŒy�UœZ­¬Ð6Ð6Ð6Ø—?’?Ñ$Ô$‰DˆAˆqØ�HŠH�Q‰KŒKˆKØˆAð	 Œz˜ZÐ'Ð'ØŒy�UœZ­¬Ð6Ð6Ð6ð �!ˆtˆr   c                 óš  — | j         dk    rd|                      ¦   «          |                      ¦   «         \  }}|                      t          j        d¦  «         |                     |¦  «         ||fS |                      ¦   «         \  }}| j         }|dvr||fS |                      ¦   «          |                     |¦  «         |dk    r||fS ||fS )Nr–   ú])ú+Ú*r�   )rT   r   rh   rf   r   rg   ry   Ú
parse_atom)r   rk   rl   rT   s       r   r—   zParserGenerator.parse_item  sÂ   € àŒ:˜ÒÐØ�MŠM‰OŒOˆOØ—>’>Ñ#Ô#‰DˆAˆqØ�KŠK�œ #Ñ&Ô&Ð&Ø�HŠH�Q‰KŒKˆKØ�a�4ˆKà—?’?Ñ$Ô$‰DˆAˆqØ”JˆEØ˜JÐ&Ð&Ø˜!�t�Ø�MŠM‰OŒOˆOØ�HŠH�Q‰KŒKˆKØ˜Š|ˆ|Ø˜!�t�à˜!�t�r   c                 óØ  — | j         dk    rO|                      ¦   «          |                      ¦   «         \  }}|                      t          j        d¦  «         ||fS | j        t          j        t          j        fv rOt          ¦   «         }t          ¦   «         }| 
                    || j         ¦  «         |                      ¦   «          ||fS |                      d| j        | j         ¦  «         d S )Nr•   ú)z+expected (...) or NAME or STRING, got %s/%s)rT   r   rh   rf   r   rg   rc   rQ   r˜   ru   ry   Úraise_error)r   rk   rl   s      r   rŸ   zParserGenerator.parse_atom(  sÐ   € àŒ:˜ÒÐØ�MŠM‰OŒOˆOØ—>’>Ñ#Ô#‰DˆAˆqØ�KŠK�œ #Ñ&Ô&Ð&Ø�a�4ˆKØŒY�5œ:¥u¤|Ð4Ð4Ð4Ý‘
”
ˆAÝ‘
”
ˆAØ�HŠH�Q˜œ
Ñ#Ô#Ð#Ø�MŠM‰OŒOˆOØ�a�4ˆKà×ÒÐJØ!œY¨¬
ñ4ô 4ð 4ð 4ð 4r   c                 ó²   — | j         |k    s|�.| j        |k    r#|                      d||| j         | j        ¦  «         | j        }|                      ¦   «          |S )Nzexpected %s/%s, got %s/%s)rc   rT   r¢   r   )r   rc   rT   s      r   rf   zParserGenerator.expect9  sd   € ØŒ9˜ÒÐ Ð!2°t´zÀUÒ7JÐ7JØ×ÒÐ8Ø! 5¨$¬)°T´ZñAô Að Aà”
ˆØ�Š‰ŒˆØˆr   c                 ó  — t          | j        ¦  «        }|d         t          j        t          j        fv r4t          | j        ¦  «        }|d         t          j        t          j        fv °4|\  | _        | _        | _        | _        | _	        d S )Nr#   )
r>   r   r   ÚCOMMENTÚNLrc   rT   ÚbeginÚendÚline)r   Útups     r   r   zParserGenerator.gettokenA  sr   € Ý�4”>Ñ"Ô"ˆØ�!Œf�Ô)­8¬;Ð7Ð7Ð7Ý�t”~Ñ&Ô&ˆCð �!Œf�Ô)­8¬;Ð7Ð7Ð7àADÑ>ˆŒ	�4”:˜tœz¨4¬8°T´Y°Y°Yr   c           
      óü   — |rG	 ||z  }n@#  d                      |gt          t          t          |¦  «        ¦  «        z   ¦  «        }Y nxY wt	          || j        | j        d         | j        d         | j        f¦  «        ‚)Nú r#   r   )Újoinr%   ÚmapÚstrÚSyntaxErrorr   r¨   r©   )r   ÚmsgÚargss      r   r¢   zParserGenerator.raise_errorH  s�   € Øð 	=ð=Ø˜D‘j��øð=Ø—h’h ˜u¥t­Cµ°T©N¬NÑ';Ô';Ñ;Ñ<Ô<���øøøÝ˜# ¤¨t¬x¸¬{Ø $¤¨¤¨T¬Yð 8ñ 9ô 9ð 	9s	   „
 Š;ArV   )r   r	   r
   r!   r?   r5   r1   r   rW   r   ri   r†   rˆ   rj   rh   r‘   r—   rŸ   rf   r   r¢   r   r   r   r   r   
   s4  € € € € € ðð ð ð ðð ð ð2ð ð ð,"ð ,"ð ,"ð\%ð %ð %ð$ð $ð $ð<!ð !ð !ð0"ð "ð "ðH7ð 7ð 7ð Að Að Aðð ð ð*ð ð ð"ð ð ðð ð ð(4ð 4ð 4ð"ð ð ð ðEð Eð Eð9ð 9ð 9ð 9ð 9r   r   c                   ó   — e Zd Zd„ Zdd„ZdS )ru   c                 ó   — g | _         d S rV   )r.   )r   s    r   r!   zNFAState.__init__S  s   € ØˆŒ	ˆ	ˆ	r   Nc                 óž   — |�t          |t          ¦  «        sJ ‚t          |t          ¦  «        sJ ‚| j                             ||f¦  «         d S rV   )rK   r¯   ru   r.   r0   ©r   r>   r=   s      r   ry   zNFAState.addarcV  sO   € Øˆ}¥
¨5µ#Ñ 6Ô 6ˆ}ˆ}ˆ}Ý˜$¥Ñ)Ô)Ð)Ð)Ð)ØŒ	×Ò˜% ˜Ñ'Ô'Ð'Ð'Ð'r   rV   )r   r	   r
   r!   ry   r   r   r   ru   ru   Q  s7   € € € € € ðð ð ð(ð (ð (ð (ð (ð (r   ru   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ ZdZdS )rv   c                 óò   — t          |t          ¦  «        sJ ‚t          t          t          |¦  «        ¦  «        t          ¦  «        sJ ‚t          |t          ¦  «        sJ ‚|| _        ||v | _        i | _        d S rV   )rK   Údictr>   Úiterru   rw   r3   r.   )r   rw   Úfinals      r   r!   zDFAState.__init__]  so   € Ý˜&¥$Ñ'Ô'Ð'Ð'Ð'Ý�$�t F™|œ|Ñ,Ô,­hÑ7Ô7Ð7Ð7Ð7Ý˜%¥Ñ*Ô*Ð*Ð*Ð*ØˆŒØ �ˆŒØˆŒ	ˆ	ˆ	r   c                 óŒ   — t          |t          ¦  «        sJ ‚|| j        vsJ ‚t          |t          ¦  «        sJ ‚|| j        |<   d S rV   )rK   r¯   r.   rv   r¶   s      r   ry   zDFAState.addarce  sS   € Ý˜%¥Ñ%Ô%Ð%Ð%Ð%Ø˜DœIÐ%Ð%Ð%Ð%Ý˜$¥Ñ)Ô)Ð)Ð)Ð)ØˆŒ	�%ÑÐÐr   c                 ó`   — | j                              ¦   «         D ]\  }}||u r
|| j         |<   Œd S rV   )r.   r/   )r   ÚoldÚnewr=   r>   s        r   r‹   zDFAState.unifystatek  sA   € Øœ9Ÿ?š?Ñ,Ô,ð 	'ð 	'‰KˆE�4Ø�sˆ{ˆ{Ø#&�”	˜%Ñ øð	'ð 	'r   c                 ó,  — t          |t          ¦  «        sJ ‚| j        |j        k    rdS t          | j        ¦  «        t          |j        ¦  «        k    rdS | j                             ¦   «         D ]$\  }}||j                             |¦  «        ur dS Œ%dS )NFT)rK   rv   r3   r*   r.   r/   Úget)r   Úotherr=   r>   s       r   Ú__eq__zDFAState.__eq__p  s—   € å˜%¥Ñ*Ô*Ð*Ð*Ð*ØŒ<˜5œ=Ò(Ð(Ø�5õ ˆtŒy‰>Œ>�S ¤™_œ_Ò,Ð,Ø�5Øœ9Ÿ?š?Ñ,Ô,ð 	ð 	‰KˆE�4Ø˜5œ:Ÿ>š>¨%Ñ0Ô0Ð0Ð0Ø�u�uð 1àˆtr   N)r   r	   r
   r!   ry   r‹   rÃ   Ú__hash__r   r   r   rv   rv   [  sQ   € € € € € ðð ð ð ð  ð  ð'ð 'ð 'ð
ð ð ð €H€H€Hr   rv   úGrammar.txtc                 óH   — t          | ¦  «        }|                     ¦   «         S rV   )r   r?   )r   Úps     r   Úgenerate_grammarrÈ   €  s   € Ý˜Ñ!Ô!€AØ�>Š>ÑÔÐr   N)rÅ   )r€   r   r   r   ÚGrammarr   Úobjectr   ru   rv   rÈ   r   r   r   ú<module>rË      s÷   ðð
 'Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ð	ð 	ð 	ð 	ð 	�'”/ñ 	ô 	ð 	ðE9ð E9ð E9ð E9ð E9�fñ E9ô E9ð E9ðN
(ð (ð (ð (ð (ˆvñ (ô (ð (ð#ð #ð #ð #ð #ˆvñ #ô #ð #ðJð ð ð ð ð r   