ó
    Òòÿhí9 ã                   ó>  • S SK r S SKJr  S SKJrJrJrJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJrJrJrJ r   S SK!J"r"  S SK#J$r$J%r%J&r&J'r'  S SK(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0  S SK1J2r2J3r3  S SK4J5r5   " S S\5      r6g)é    N)ÚDFA)ÚPredictionContextCacheÚPredictionContextÚSingletonPredictionContextÚ PredictionContextFromRuleContext)ÚTokenStream)ÚParser)ÚParserRuleContext)ÚRuleContext)ÚToken)Ústr_list)ÚATN)Ú	ATNConfig)ÚATNConfigSet)ÚATNSimulator)ÚStarLoopEntryStateÚDecisionStateÚRuleStopStateÚATNState)ÚPredictionMode)ÚSemanticContextÚANDÚ
andContextÚ	orContext)Ú
TransitionÚRuleTransitionÚActionTransitionÚPrecedencePredicateTransitionÚPredicateTransitionÚAtomTransitionÚSetTransitionÚNotSetTransition)ÚDFAStateÚPredPrediction)ÚNoViableAltExceptionc                   óÂ  ^ • \ rS rSrSrSrSrSrSrS\	S\
S\S\4U 4S jjrS	 rS
\S\S\4S jrS\S\S
\S\S\4
S jrS\S\4S jrS\S\S\4S jrS\S\4S jrS\S\S\S
\S\S\4S jrS\S\S\4S jrS\S\4S  jrS!\S"\ S\4S# jr!S\4S$ jr"S%\#S&\4S' jr$S(\%S\S)\4S* jr&S(\%S+\4S, jr'S\S\4S- jr(S\4S. jr)S\S\4S/ jr*S0\S\S1\4S2 jr+S3\,S\S4\%S5\S\S6\4S7 jr-S3\,S\S4\%S5\S\S8\S6\4S9 jr.S3\,S\S4\%S5\S\S8\S6\4S: jr/S; r0S<\4S= jr1\2" 5       r3S> \3\#Rh                  '   S? \3\#Rj                  '   S@ \3\#Rl                  '   SA \3\#Rn                  '   SB \3\#Rp                  '   SC \3\#Rr                  '   SD \3\#Rt                  '   SE \3\#Rv                  '   S3\,S\#S5\SF\S\S6\4SG jr<S3\,S\=4SH jr>S3\,SI\?S5\SF\S\4
SJ jr@S3\,SI\AS5\SF\S\4
SK jrBS3\,S\C4SL jrDS\4SM jrES\4SN jrFS\4SO jrGS
\4SP jrHSQ\I4SR jrJS
\S\S\S\4SS jrKS\4ST jrLS\SU\S\SV\4SW jrMS\S\4SX jrNS\SY\%S\S\SZ\4
S[ jrOS\S\\S\S\SZ\4
S] jrPS\S\S\SZ\S^\S(\%S\4S_ jrQS`rRU =rS$ )aÚParserATNSimulatori  )ÚparserÚdecisionToDFAÚpredictionModeÚ_inputÚ_startIndexÚ_outerContextÚ_dfaÚ
mergeCacheFr(   Úatnr)   ÚsharedContextCachec                 ó¬   >• [         TU ]  X$5        Xl        X0l        [        R
                  U l        S U l        SU l        S U l	        S U l
        S U l        g ©Nr   )ÚsuperÚ__init__r(   r)   r   ÚLLr*   r+   r,   r-   r.   r/   )Úselfr(   r0   r)   r1   Ú	__class__s        €ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/antlr4/atn/ParserATNSimulator.pyr5   ÚParserATNSimulator.__init__  sP   ø€ Ü‰Ñ˜Ô1ØŒØ*Ôä,×/Ñ/ˆÔàˆŒØˆÔØ!ˆÔØˆŒ	ð ˆ�ó    c                 ó   • g ©N© )r7   s    r9   ÚresetÚParserATNSimulator.reset#  s   € Ør;   ÚinputÚdecisionÚouterContextc                 óÀ  • [         R                  (       d  [         R                  (       a|  [        S[	        U5      -   S-   U R                  U5      -   S-   [	        UR                  S5      R                  5      -   S-   [	        UR                  S5      R                  5      -   5        Xl	        UR                  U l        X0l        U R                  U   nX@l        UR                  5       nUR                  n UR                   (       a*  UR#                  U R$                  R'                  5       5      nOUR(                  nUGc_  Uc  [*        R,                  n[         R                  (       d  [         R                  (       a`  [        S[	        UR.                  5      -   S-   U R                  U5      -   S-   UR1                  U R$                  R2                  S 5      -   5        SnU R5                  UR6                  [*        R,                  U5      n	UR                   (       ae  X”R(                  l        U R;                  U	5      n	U R=                  U[?        U	S	95      nURA                  U R$                  R'                  5       U5        OU R=                  U[?        U	S	95      nXtl        U RC                  XGXU5      n
[         R                  (       a1  [        S
UR1                  U R$                  R2                  5      -   5        U
S U l        S U l"        URG                  U5        URI                  U5        $ ! S U l        S U l"        URG                  U5        URI                  U5        f = f)NzadaptivePredict decision ú exec LA(1)==ú line é   Ú:zpredictATN decision z, outerContext=F©ÚconfigszDFA after predictATN: )%r'   ÚdebugÚdebug_list_atn_decisionsÚprintÚstrÚgetLookaheadNameÚLTÚlineÚcolumnr+   Úindexr,   r-   r)   r.   ÚmarkÚprecedenceDfaÚgetPrecedenceStartStater(   ÚgetPrecedenceÚs0r
   ÚEMPTYrB   ÚtoStringÚliteralNamesÚcomputeStartStateÚatnStartStaterJ   ÚapplyPrecedenceFilterÚaddDFAStater#   ÚsetPrecedenceStartStateÚexecATNr/   ÚseekÚrelease)r7   rA   rB   rC   ÚdfaÚmrS   rX   ÚfullCtxÚ
s0_closureÚalts              r9   ÚadaptivePredictÚ"ParserATNSimulator.adaptivePredict&  s¾  € Ü×#×#Ô'9×'R×'RÜÐ-´°H³Ñ=Ø#2ñ3Ø59×5JÑ5JÈ5Ó5QñRà#+ñ,ä.1°%·(±(¸1³+×2BÑ2BÓ.CñDàFIñJô $' u§x¡x°£{×'9Ñ'9Ó#:ñ;ô <ð ŒØ Ÿ;™;ˆÔØ)Ôà× Ñ  Ñ*ˆØŒ	Ø�J‰J‹LˆØ—‘ˆð+	Ø× × ð ×0Ñ0°·±×1JÑ1JÓ1LÓM‘ð —V‘V�àŠzØÑ'Ü#4×#:Ñ#:�LÜ%×+×+Ô/A×/Z×/ZÜÐ0´3°s·|±|Ó3DÑDØ'6ñ7Ø9=×9NÑ9NÈuÓ9UñVà'8ñ9à;G×;PÑ;PÐQU×Q\ÑQ\×QiÑQiÐkoÓ;pñqô rð  �Ø!×3Ñ3°C×4EÑ4EÔGX×G^ÑG^Ð`gÓh�
à×$×$ð &0—F‘F”NØ!%×!;Ñ!;¸JÓ!G�JØ×)Ñ)¨#¬xÀ
Ñ/KÓL�BØ×/Ñ/°·±×0IÑ0IÓ0KÈRÕPà×)Ñ)¨#¬xÀ
Ñ/KÓL�BØ”Fà—,‘,˜s¨°lÓCˆCÜ!×'×'ÜÐ.°·±¸d¿k¹k×>VÑ>VÓ1WÑWÔXØàˆDŒIØ"ˆDŒOØ�J‰J�uÔØ�M‰M˜!Õøð ˆDŒIØ"ˆDŒOØ�J‰J�uÔØ�M‰M˜!Õús   Ã6HL+ Ì+2Mrd   rX   Ú
startIndexc           	      óZ  • [         R                  (       d  [         R                  (       a†  [        S[	        UR
                  5      -   S-   U R                  U5      -   S-   [	        UR                  S5      R                  5      -   S-   [	        UR                  S5      R                  5      -   5        Un[         R                  (       a  [        S[	        U5      -   5        UR                  S5      n U R                  Xg5      nUc  U R                  XU5      nX€R                  L ab  U R                  X5UR                  U5      n	UR!                  U5        U R#                  UR                  U5      n
U
[$        R&                  :w  a  U
$ U	eUR(                  (       Ga†  U R*                  [,        R.                  :w  Gag  UR                  R0                  nUR2                  b¯  [         R                  (       a  [        S5        UR4                  nXÄ:w  a  UR!                  U5        U R7                  UR2                  US5      n[9        U5      S:X  a+  [         R                  (       a  [        S	5        [;        U5      $ XÄ:w  a  UR!                  U5        [         R<                  (       a&  [        S
[	        U5      -   S-   [	        U5      -   5        SnU R?                  UR@                  X]5      nU RC                  XUR                  XCR4                  5        U RE                  XXãXE5      n
U
$ URF                  (       aÃ  UR2                  c  URH                  $ UR4                  nUR!                  U5        U R7                  UR2                  US5      n[9        U5      S:X  a  U R                  X5UR                  U5      e[9        U5      S:X  a  [;        U5      $ U RK                  XXOSUUR                  5        [;        U5      $ UnU[L        RN                  :w  a!  URQ                  5         UR                  S5      nGM<  )NzexecATN decision rE   rF   rG   rH   zs0 = Tz*DFA state has preds in DFA sim LL failoverzFull LL avoidedzctx sensitive state z in r   F))r'   rK   rL   rM   rN   rB   rO   rP   rQ   rR   ÚLAÚgetExistingTargetStateÚcomputeTargetStateÚERRORÚnoViableAltrJ   rb   Ú7getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuler   ÚINVALID_ALT_NUMBERÚrequiresFullContextr*   r   ÚSLLÚconflictingAltsÚ
predicatesrS   ÚevalSemanticContextÚlenÚminÚ	dfa_debugr\   r]   ÚreportAttemptingFullContextÚexecATNWithFullContextÚisAcceptStateÚ
predictionÚreportAmbiguityr   ÚEOFÚconsume)r7   rd   rX   rA   rk   rC   Ú	previousDÚtÚDÚerh   rv   ÚconflictIndexrf   rg   Ú	stopIndexÚaltss                    r9   ra   ÚParserATNSimulator.execATN‚  s\  € Ü×#×#Ô'9×'R×'RÜÐ%¬¨C¯L©LÓ(9Ñ9Ø#ñ$Ø&*×&;Ñ&;¸EÓ&BñCàñä" 5§8¡8¨A£;×#3Ñ#3Ó4ñ5à7:ñ;ä=@ÀÇÁÈ!Ã×ASÑASÓ=TñUô Vð ˆ	ä×#×#Ü�'œC ›GÑ#Ô$à�H‰H�Q‹KˆàØ×+Ñ+¨IÓ9ˆAØ‰yØ×+Ñ+¨C¸AÓ>�Ø—J‘JŠð ×$Ñ$ U¸)×:KÑ:KÈZÓX�Ø—
‘
˜:Ô&Ø×RÑRÐS\×SdÑSdÐfrÓs�Øœ×.Ñ.Ó.Ø�JØ�à×$×$Ð$¨×)<Ñ)<Ä×@RÑ@RÔ)Rà"#§)¡)×";Ñ";�Ø—<‘<Ñ+Ü)×/×/ÜÐJÔKØ$)§K¡K�MØ$Ó2ØŸ
™
 :Ô.à&*×&>Ñ&>¸q¿|¹|È\Ð[_Ó&`�OÜ˜?Ó+¨QÓ.Ü-×3×3Ü!Ð"3Ô4Ü" ?Ó3Ð3à$Ó2ð Ÿ
™
 =Ô1ä%×/×/ÜÐ0´3°|Ó3DÑDÀfÑLÌsÐSTËvÑUÔVØ�Ø!×3Ñ3°C×4EÑ4EÀ|Ó]�
Ø×0Ñ0°ÀqÇyÁyÐR\×^iÑ^iÔjØ×1Ñ1°#¸*ÈZÓf�Ø�
à��Ø—<‘<Ñ'ØŸ<™<Ð'à!ŸK™K�	Ø—
‘
˜:Ô&Ø×/Ñ/°·±¸lÈDÓQ�Ü�t“9˜a“<Ø×*Ñ*¨5ÀÇ	Á	È:ÓVÐVÜ˜“Y “\Ü˜t›9Ð$ð ×(Ñ(¨°ÈÈtÐUV×U^ÑU^Ô_Ü˜t›9Ð$àˆIà”E—I‘I‹~Ø—‘”Ø—H‘H˜Q“K�òO r;   rƒ   r„   c                 óf   • UR                   nUb  US-   S:  d  US-   [        U5      :¼  a  g X2S-      $ )NrG   r   )Úedgesry   )r7   rƒ   r„   rŒ   s       r9   rn   Ú)ParserATNSimulator.getExistingTargetStateã  s8   € Ø—‘ˆØ‰=˜A ™E A›I¨¨Q©´#°e³*Ó)<Øà˜Q™‘<Ðr;   c                 óˆ  • U R                  UR                  US5      nUc(  U R                  XX0R                  5        U R                  $ [	        US9nU R                  U5      n[        R                  (       aŒ  [        R                  " U5      n[        S[        U5      -   S-   [        U5      -   S-   [        U5      -   S-   [        [        R                  " U5      5      -   S-   [        U R                  U5      5      -   5        U[        R                  :w  a  SUl        XeR                  l        Xel        Ox[        R&                  " U R(                  U5      (       aR  U R                  U5      UR                  l        SUl        SUl        [/        UR                  R*                  5      Ul        UR                   (       aq  UR                  R0                  (       aV  U R3                  XPR4                  R7                  UR8                  5      5        UR:                  b  [        R                  Ul        U R                  XX55      nU$ )	NFrI   zSLL altSubSets=z
, configs=ú
, predict=z, allSubsetsConflict=z, conflictingAlts=T)ÚcomputeReachSetrJ   Ú
addDFAEdgerp   r#   ÚgetUniqueAltr'   rK   r   ÚgetConflictingAltSubsetsrM   rN   ÚallSubsetsConflictÚgetConflictingAltsr   rs   r~   Ú	uniqueAltr   Ú#hasSLLConflictTerminatingPredictionr*   rv   rt   rz   ÚhasSemanticContextÚpredicateDFAStater0   ÚgetDecisionStaterB   rw   )r7   rd   rƒ   r„   Úreachr…   ÚpredictedAltÚ
altSubSetss           r9   ro   Ú%ParserATNSimulator.computeTargetStateö  sÌ  € Ø×$Ñ$ Y×%6Ñ%6¸¸5ÓAˆØ‰=Ø�O‰O˜C¨A¯z©zÔ:Ø—:‘:Ðô ˜UÑ#ˆà×(Ñ(¨Ó/ˆä×#×#Ü'×@Ò@ÀÓGˆJÜÐ#¤c¨*£oÑ5¸ÑDÄsÈ5ÃzÑQØ$ñ%Ü'*¨<Ó'8ñ9Ø;RñSäœN×=Ò=¸jÓIÓJñKàMañbô ˜D×3Ñ3°EÓ:Ó;ñ<ô =ð
 œ×/Ñ/Ó/à"ˆAŒOØ".�I‰IÔØ'�LÜ×?Ò?À×@SÑ@SÐUZ×[Ñ[à(,×(?Ñ(?ÀÓ(FˆA�I‰IÔ%Ø$(ˆAÔ!à"ˆAŒOÜ˜qŸy™y×8Ñ8Ó9ˆAŒLà�?�?˜qŸy™y×;×;Ø×"Ñ" 1§h¡h×&?Ñ&?ÀÇÁÓ&MÔNØ�|‰|Ñ'Ü"×5Ñ5�”ð �O‰O˜C¨AÓ1ˆØˆr;   ÚdfaStateÚdecisionStatec                 ó  • [        UR                  5      nU R                  UR                  5      nU R	                  XAR                  U5      nUb,  U R                  XE5      Ul        [        R                  Ul	        g [        U5      Ul	        g r=   )ry   ÚtransitionsÚgetConflictingAltsOrUniqueAltrJ   ÚgetPredsForAmbigAltsÚgetPredicatePredictionsrw   r   rs   r   rz   )r7   rŸ   r    ÚnaltsÚaltsToCollectPredsFromÚ	altToPreds         r9   r™   Ú$ParserATNSimulator.predicateDFAState  s   € ô �M×-Ñ-Ó.ˆð "&×!CÑ!CÀH×DTÑDTÓ!UÐØ×-Ñ-Ð.D×FVÑFVÐX]Ó^ˆ	ØÑ Ø"&×">Ñ">Ð?UÓ"aˆHÔÜ"%×"8Ñ"8ˆHÕô
 #&Ð&<Ó"=ˆHÕr;   r…   c           	      óŽ  • [         R                  (       d  [         R                  (       a  [        S[	        U5      5        SnSnS n	Un
UR                  U5        UR                  S5      nSn U R                  X«U5      n	U	cL  U R                  XFX¥5      nUR                  U5        U R                  X¦5      nU[        R                  :w  a  U$ Ue[        R                  " U	5      n[         R                  (       a]  [        S[	        U5      -   S-   [	        [        R                  " U5      5      -   S-   [	        [        R                  " U5      5      -   5        U R                  U	5      U	l        U	R                   [        R                  :w  a  U	R                   nOÒU R"                  [        R$                  La,  [        R                  " U5      nU[        R                  :w  a  OŠOO[        R&                  " U5      (       a4  [        R(                  " U5      (       a  Sn[        R*                  " U5      nO:U	n
U[,        R.                  :w  a!  UR1                  5         UR                  S5      nGMü  U	R                   [        R                  :w  a  U R3                  XX•UR4                  5        U$ U R7                  XXTR4                  US U	5        U$ )	Nr}   TFrG   éÿÿÿÿzLL altSubSets=r�   z, resolvesToJustOneViableAlt=)r'   rK   rL   rM   rN   rb   rm   r�   rq   rr   r   rs   r   r“   r’   ÚresolvesToJustOneViableAltr–   r*   ÚLL_EXACT_AMBIG_DETECTIONr”   ÚallSubsetsEqualÚgetSingleViableAltr   r�   r‚   ÚreportContextSensitivityrS   r€   )r7   rd   r…   rX   rA   rk   rC   rf   ÚfoundExactAmbigr›   Úpreviousr„   rœ   r†   rh   r�   s                   r9   r}   Ú)ParserATNSimulator.execATNWithFullContext0  sU  € ô
 ×#×#Ô'9×'R×'RÜÐ*¬C°«GÔ4ØˆØˆØˆØˆØ�
‰
�:ÔØ�H‰H�Q‹KˆØˆØØ×(Ñ(¨°gÓ>ˆEØ‰}ð ×$Ñ$ U¸(ÓO�Ø—
‘
˜:Ô&Ø×RÑRÐS[Ój�Øœ×.Ñ.Ó.Ø�Jà�Gä'×@Ò@ÀÓGˆJÜ!×'×'ÜÐ&¬¨Z«Ñ8¸<ÑGÜœ.×5Ò5°jÓAÓBñCØEdñeäœ.×CÒCÀJÓOÓPñQô Rð #×/Ñ/°Ó6ˆEŒOà�‰¤× 6Ñ 6Ó6Ø$Ÿ™�ØØ×$Ñ$¬N×,SÑ,SÒSÜ-×HÒHÈÓT�Ø¤3×#9Ñ#9Ó9Øð :ô
 "×4Ò4°Z×@Ñ@Ä^×EcÒEcÐdn×EoÑEoØ&*�OÜ#1×#DÒ#DÀZÓ#P�LØð
 ˆHØ”E—I‘I‹~Ø—‘”Ø—H‘H˜Q“K�òc ðl �?‰?œc×4Ñ4Ó4Ø×)Ñ)¨#¸UÐPU×P[ÑP[Ô\ØÐð: 	×Ñ˜S Z·±¸oÈtÐUZÔ[àÐr;   Úclosurerf   c           	      óÔ  • [         R                  (       a  [        S[        U5      -   5        U R                  c  [        5       U l        [        U5      nS nU Hô  n[         R                  (       a,  [        SU R                  U5      -   S-   [        U5      -   5        [        UR                  [        5      (       a;  U(       d  U[        R                  :X  a  Uc
  [        5       nUR                  U5        Mž  UR                  R                   H<  nU R!                  Xr5      nUc  M  UR#                  [%        X†S9U R                  5        M>     Mö     S n	UcK  U[        R                  :w  a7  ['        U5      S:X  a  Un	O%U R)                  U5      [*        R,                  :w  a  Un	U	cE  [        U5      n	[/        5       n
U[        R                  :H  nU H  nU R1                  XiU
SX;5        M     U[        R                  :X  a  U R3                  X™UL 5      n	UbF  U(       a  [4        R6                  " U	5      (       d$  U H  nU	R#                  X`R                  5        M      ['        U	5      S:X  a  g U	$ )Nz&in computeReachSet, starting closure: ztesting z at ©ÚstateÚconfigrG   Fr   )r'   rK   rM   rN   r/   Údictr   ÚgetTokenNameÚ
isinstancer·   r   r   r�   ÚlistÚappendr¢   ÚgetReachableTargetÚaddr   ry   r’   r   rs   Úsetr´   Ú"removeAllConfigsNotInRuleStopStater   ÚhasConfigInRuleStopState)r7   r´   r„   rf   ÚintermediateÚskippedStopStatesÚcÚtransÚtargetr›   ÚclosureBusyÚtreatEofAsEpsilons               r9   r�   Ú"ParserATNSimulator.computeReachSet—  sø  € Ü×#×#ÜÐ:¼SÀ»\ÑIÔJà�?‰?Ñ"Ü"›fˆDŒOä# GÓ,ˆð !Ðó ˆAÜ!×'×'Ü�j 4×#4Ñ#4°QÓ#7Ñ7¸&Ñ@Ä3ÀqÃ6ÑIÔJä˜!Ÿ'™'¤=×1Ñ1Þ˜a¤5§9¡9›nØ(Ñ0Ü,0«FÐ)Ø%×,Ñ,¨QÔ/ÙàŸ™×,Ô,�Ø×0Ñ0°Ó:�ØÓ%Ø ×$Ñ$¤Y°VÑ%FÈÏÉÖXó -ñ ð$ ˆð Ñ$¨¬E¯I©I«Ü�<Ó  !Ó#ð
 %‘Ø×"Ñ" <Ó0´#×2HÑ2HÓHð %�ð
 ‰=Ü  Ó)ˆEÜ›%ˆKØ !¤U§Y¡Y¡ÐÛ!�Ø—‘˜Q {°E¸7ÖVñ "ð ”—	‘	‹>ð$ ×;Ñ;¸EÈLÐCXÓYˆEð Ñ(¶GÄ^×ElÒElÐmr×EsÑEsÛ&�Ø—	‘	˜!Ÿ_™_Ö-ñ 'äˆu‹:�q‹=ØàˆLr;   rJ   ÚlookToEndOfRulec                 óV  • [         R                  " U5      (       a  U$ [        UR                  5      nU Hð  n[	        UR
                  [        5      (       a  UR                  X@R                  5        M?  U(       d  MH  UR
                  R                  (       d  Me  U R                  R                  UR
                  5      n[        R                  U;   d  M   U R                  R                  UR
                  R                     nUR                  [!        XdS9U R                  5        Mò     U$ ©Nr¶   )r   ÚallConfigsInRuleStopStatesr   rf   r»   r·   r   r¿   r/   ÚepsilonOnlyTransitionsr0   Ú
nextTokensr   ÚEPSILONÚruleToStopStateÚ	ruleIndexr   )r7   rJ   rË   Úresultr¸   rÐ   ÚendOfRuleStates          r9   rÁ   Ú5ParserATNSimulator.removeAllConfigsNotInRuleStopState  sÈ   € Ü×4Ò4°W×=Ñ=ØˆNÜ˜gŸo™oÓ.ˆÛˆFÜ˜&Ÿ,™,¬×6Ñ6Ø—
‘
˜6§?¡?Ô3Ùßˆ 6§<¡<×#F×#FÑ#FØ!ŸX™X×0Ñ0°·±Ó>�
Ü—=‘= JÕ.Ø%)§X¡X×%=Ñ%=¸f¿l¹l×>TÑ>TÑ%U�NØ—J‘Jœy¨~ÑMÈtÏÉÖ_ñ ð ˆr;   ÚpÚctxc           	      ó"  • [        U R                  U5      n[        U5      n[        S[	        UR
                  5      5       HJ  nUR
                  U   R                  n[        XvS-   U5      n[        5       n	U R                  X…U	SUS5        ML     U$ )Nr   rG   TF)
r   r0   r   Úrangery   r¢   rÇ   r   rÀ   r´   )
r7   r×   rØ   rf   ÚinitialContextrJ   ÚirÇ   rÅ   rÈ   s
             r9   r\   Ú$ParserATNSimulator.computeStartState'  s|   € ä9¸$¿(¹(ÀCÓHˆÜ˜wÓ'ˆä�qœ#˜aŸm™mÓ,Ö-ˆAØ—]‘] 1Ñ%×,Ñ,ˆFÜ˜& A¡# ~Ó6ˆAÜ›%ˆKØ�L‰L˜ [°$¸ÀÖGñ	 .ð
 ˆr;   c                 óÀ  • [        5       n[        UR                  5      nU Hº  nUR                  S:w  a  M  UR                  R                  U R                  U R                  5      nUc  MJ  UR                  X$R                  R                  '   XTR                  La%  UR                  [        XES9U R                  5        MŸ  UR                  X@R                  5        M¼     U Hx  nUR                  S:X  a  M  UR                  (       d7  UR                  UR                  R                  S 5      nXdR                  :X  a  M]  UR                  X@R                  5        Mz     U$ )NrG   )r¸   Úsemantic)r¹   r   rf   rh   ÚsemanticContextÚevalPrecedencer(   r-   Úcontextr·   ÚstateNumberr¿   r   r/   ÚprecedenceFilterSuppressedÚget)r7   rJ   ÚstatesFromAlt1Ú	configSetr¸   ÚupdatedContextrâ   s          r9   r^   Ú(ParserATNSimulator.applyPrecedenceFilterk  s  € Ü›ˆÜ  §¡Ó1ˆ	ÛˆFà�z‰z˜Q‹ÙØ#×3Ñ3×BÑBÀ4Ç;Á;ÐPT×PbÑPbÓcˆNØÑ%áà7=·~±~ˆNŸ<™<×3Ñ3Ñ4Ø×%;Ñ%;Ò;Ø—‘œi¨vÑOÐQU×Q`ÑQ`Öaà—‘˜f§o¡oÖ6ñ ó ˆFØ�z‰z˜Q‹áð ×4×4Ø(×,Ñ,¨V¯\©\×-EÑ-EÀtÓL�ØŸN™NÓ*áà�M‰M˜&§/¡/Ö2ñ ð" Ðr;   rÆ   Úttypec                 ót   • UR                  USU R                  R                  5      (       a  UR                  $ g r3   )Úmatchesr0   ÚmaxTokenTyperÇ   )r7   rÆ   rê   s      r9   r¾   Ú%ParserATNSimulator.getReachableTarget�  s,   € Ø�=‰=˜  4§8¡8×#8Ñ#8×9Ñ9Ø—<‘<Ðàr;   Ú	ambigAltsr¦   c                 ó¬  • S /US-   -  nU HC  nUR                   U;   d  M  [        XER                      UR                  5      XER                   '   ME     Sn[        SUS-   5       H8  nXG   c  [        R
                  XG'   M  XG   [        R
                  Ld  M3  US-  nM:     US:X  a  S n[        R                  (       a  [        S[        U5      -   5        U$ )NrG   r   zgetPredsForAmbigAlts result )
rh   r   rà   rÚ   r   ÚNONEr'   rK   rM   r   )r7   rï   rJ   r¦   r¨   rÅ   Ú	nPredAltsrÜ   s           r9   r¤   Ú'ParserATNSimulator.getPredsForAmbigAlts–  sÄ   € ð �F˜e a™iÑ(ˆ	ÛˆAØ�u‰u˜	Õ!Ü#,¨Y·u±uÑ-=¸q×?PÑ?PÓ#Q�	Ÿ%™%Ó ñ ð ˆ	Ü�q˜% ™'Ö"ˆAØ‰|Ñ#Ü.×3Ñ3�	“Ø‘¤_×%9Ñ%9Ô9Ø˜Q‘’	ñ	 #ð �a‹<ØˆIÜ×#×#ÜÐ0´8¸IÓ3FÑFÔGØÐr;   r¨   c                 óÐ   • / nSn[        S[        U5      5       H@  nX%   nUb  XQ;   a  UR                  [        Xe5      5        U[        R
                  Ld  M>  SnMB     U(       d  g U$ )NFrG   T)rÚ   ry   r½   r$   r   rñ   )r7   rï   r¨   ÚpairsÚcontainsPredicaterÜ   Úpreds          r9   r¥   Ú*ParserATNSimulator.getPredicatePredictions¶  se   € ØˆØ!ÐÜ�qœ#˜i›.Ö)ˆAØ‘<ˆDàÑ$¨«Ø—‘œ^¨DÓ4Ô5Øœ?×/Ñ/Ô/Ø$(Ò!ñ *ö !Øàˆr;   c                 ó  • U R                  X5      u  p4U R                  U5      nU[        R                  :w  a  U$ [	        U5      S:”  a'  U R                  U5      nU[        R                  :w  a  U$ [        R                  $ r3   )Ú splitAccordingToSemanticValidityÚ#getAltThatFinishedDecisionEntryRuler   rs   ry   )r7   rJ   rC   ÚsemValidConfigsÚsemInvalidConfigsrh   s         r9   rr   ÚJParserATNSimulator.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuleô  sw   € Ø-1×-RÑ-RÐSZÓ-iÑ*ˆØ×6Ñ6°ÓGˆØ”×&Ñ&Ó&ØˆJäÐ Ó! !Ó#Ø×:Ñ:Ð;LÓMˆCØ”C×*Ñ*Ó*Ø�
Ü×%Ñ%Ð%r;   c                 óV  • [        5       nU Hp  nUR                  S:”  dB  [        UR                  [        5      (       d  M4  UR
                  R                  5       (       d  MU  UR                  UR                  5        Mr     [        U5      S:X  a  [        R                  $ [        U5      $ r3   )rÀ   ÚreachesIntoOuterContextr»   r·   r   râ   ÚhasEmptyPathr¿   rh   ry   r   rs   rz   )r7   rJ   r‰   rÅ   s       r9   rû   Ú6ParserATNSimulator.getAltThatFinishedDecisionEntryRule   sx   € Ü‹uˆÛˆAØ×(Ñ(¨Ó*¬z¸!¿'¹'Ä=×/QÓ/QÐVW×V_ÑV_×VlÑVl×VnÓVnØ—‘˜Ÿ™–ñ ô ˆt‹9�a‹<Ü×)Ñ)Ð)ä�t“9Ðr;   c                 óp  • [        UR                  5      n[        UR                  5      nU H„  nUR                  [        R                  LaS  UR                  R                  U R                  U5      nU(       a  UR                  U5        M`  UR                  U5        Ms  UR                  U5        M†     X44$ r=   )r   rf   rà   r   rñ   Úevalr(   r¿   )r7   rJ   rC   Ú	succeededÚfailedrÅ   ÚpredicateEvaluationResults          r9   rú   Ú3ParserATNSimulator.splitAccordingToSemanticValidity  s‹   € Ü  §¡Ó1ˆ	Ü˜gŸo™oÓ.ˆÛˆAØ× Ñ ¬×(<Ñ(<Ò<Ø,-×,=Ñ,=×,BÑ,BÀ4Ç;Á;ÐP\Ó,]Ð)Þ,Ø—M‘M !Ö$à—J‘J˜q–Mà—‘˜aÖ ñ ð Ð!Ð!r;   ÚpredPredictionsÚcompletec                 ó–  • [        5       nU GH7  nUR                  [        R                  L a'  UR	                  UR
                  5        U(       d    U$ MH  UR                  R                  U R                  U5      n[        R                  (       d  [        R                  (       a&  [        S[        U5      -   S-   [        U5      -   5        U(       d  MÇ  [        R                  (       d  [        R                  (       a!  [        S[        UR
                  5      -   5        UR	                  UR
                  5        U(       a  GM7    U$    U$ )Nz
eval pred Ú=zPREDICT )rÀ   r÷   r   rñ   r¿   rh   r  r(   r'   rK   r{   rM   rN   )r7   r	  rC   r
  ÚpredictionsÚpairr  s          r9   rx   Ú&ParserATNSimulator.evalSemanticContext'  sç   € Ü“eˆÜ#ˆDØ�y‰yœO×0Ñ0Ò0Ø—‘ §¡Ô)ÞØð Ðñ Ø(,¯	©	¯©°t·{±{ÀLÓ(QÐ%Ü!×'×'Ô+=×+G×+GÜ�l¤S¨£YÑ.°Ñ4´sÐ;TÓ7UÑUÔVç(Ð(Ü%×+×+Ô/A×/K×/KÜ˜*¤s¨4¯8©8£}Ñ4Ô5Ø—‘ §¡Ô)ß‘xØØÐñ! $ð  Ðr;   r¸   rÈ   ÚcollectPredicatesrÉ   c           	      ó0   • SnU R                  XX4XWU5        g r3   )ÚclosureCheckingStopState)r7   r¸   rJ   rÈ   r  rf   rÉ   ÚinitialDepths           r9   r´   ÚParserATNSimulator.closureC  s    € ØˆØ×%Ñ% f°{Ø!(Ð8Iõ	Kr;   Údepthc           
      óÂ  • [         R                  (       a  [        S[        U5      -   S-   5        [	        UR
                  [        5      (       Gaü  UR                  R                  5       (       Gds  [        S[        UR                  5      5       GHN  nUR                  R                  U5      n	U	[        R                  L a¢  U(       a?  UR                  [        UR
                  [        R                   US9U R"                  5        Mx  [         R                  (       a1  [        SU R%                  UR
                  R&                  5      -   5        U R)                  XX4XVU5        MÔ  U R*                  R,                  U	   n
UR                  R/                  U5      n[        X¡R0                  X±R2                  S9nUR4                  Ul        U R7                  XÂX4XVS-
  U5        GMQ     g U(       a  UR                  XR"                  5        g [         R                  (       a1  [        SU R%                  UR
                  R&                  5      -   5        U R)                  XX4XVU5        g )Nzclosure(Ú)r   ©r·   râ   r¸   zFALLING off rule )r·   rh   râ   rß   rG   )r'   rK   rM   rN   r»   r·   r   râ   ÚisEmptyrÚ   ry   ÚgetReturnStater   ÚEMPTY_RETURN_STATEr¿   r   rY   r/   ÚgetRuleNamerÓ   Úclosure_r0   ÚstatesÚ	getParentrh   rà   r   r  )r7   r¸   rJ   rÈ   r  rf   r  rÉ   rÜ   r·   ÚreturnStateÚ
newContextrÅ   s                r9   r  Ú+ParserATNSimulator.closureCheckingStopStateI  sÒ  € Ü×#×#Ü�*œs 6›{Ñ*¨SÑ0Ô1ä�f—l‘l¤M×2Ò2ð —>‘>×)Ñ)×+Ò+Ü˜q¤# f§n¡nÓ"5×6�AØ"ŸN™N×9Ñ9¸!Ó<�EØÔ 1× DÑ DÒDÞ"Ø#ŸK™K¬	¸¿¹ÔN_×NeÑNeÐntÑ(uÐw{÷  xGñ  xGô  HÙ$ô  2×7×7Ü %Ð&9¸D×<LÑ<LÈVÏ\É\×McÑMcÓ<dÑ&dÔ eØ ŸM™M¨&¸;Ø%,Ð5FôHá Ø"&§(¡(§/¡/°%Ñ"8�KØ!'§¡×!9Ñ!9¸!Ó!<�JÜ!¨¿¹ÈZ×bxÑbxÑy�Að 17×0NÑ0N�AÔ-Ø×1Ñ1°!¸kÐ^eÐopÑgpð  sD÷  Eñ) 7ð* Þà—‘˜F§O¡OÔ4Øô &×+×+ÜÐ-°×0@Ñ0@ÀÇÁ×AWÑAWÓ0XÑXÔYà�‰�f {ÀwÐWhÕir;   c           
      óÚ  • UR                   nUR                  (       d  UR                  XR                  5        Sn	UR                   GH   n
U	(       a  Sn	U R                  U5      (       a  M%  U=(       a    [        U
[        5      (       + nU R                  XX¶S:H  XW5      nUc  M^  Un[        UR                   [        5      (       aÃ  U R                  bP  U R                  R                  (       a5  U
R                  U R                  R                  R                  :X  a  SUl        U=R                   S-  sl        XÃ;   a  Mø  UR                  U5        SUl        US-  n[$        R&                  (       a  [)        S[+        U5      -   5        OJU
R,                  (       d  XÃ;   a  GM[  UR                  U5        [        U
[.        5      (       a  US:¼  a  US-  nU R1                  XÂX;X]U5        GM£     g )NTFr   rG   zdips into outer ctx: )r·   rÏ   r¿   r/   r¢   Ú'canDropLoopEntryEdgeInLeftRecursiveRuler»   r   ÚgetEpsilonTargetr   r.   rU   ÚoutermostPrecedenceReturnr]   rÓ   rä   r   ÚdipsIntoOuterContextr'   rK   rM   rN   Ú	isEpsilonr   r  )r7   r¸   rJ   rÈ   r  rf   r  rÉ   r×   Úfirstr„   ÚcontinueCollectingrÅ   ÚnewDepths                 r9   r  ÚParserATNSimulator.closure_s  s„  € Ø�L‰Lˆà×'×'Ø�K‰K˜§¡Ô0ð ˆØ—•ˆAÞØ�Ø×?Ñ?À×GÑGÙà!2×!Z¼:ÀaÔIYÓ;ZÔ7ZÐØ×%Ñ% fÐ1CÈaÁZÐQXÓlˆAØ‹}Ø �Ü˜vŸ|™|¬]×;Ñ;ð —y‘yÑ,°·±×1H×1HØ×6Ñ6¸$¿)¹)×:QÑ:Q×:[Ñ:[Ó[Ø;?˜AÔ8Ø×-Ò-°Ñ2Õ-ØÓ'á Ø—O‘O AÔ&Ø37�GÔ0Ø ‘M�HÜ)×/×/ÜÐ5¼¸A»Ñ>Ô?øàŸ;Ÿ;ØÓ+â$Ø#Ÿ™¨Ô*Ü! !¤^×4Ñ4à# q›=Ø$¨™M˜Hà×-Ñ-¨a¸+Ð[bÐn÷  AòO r;   c                 óð  • UR                   nUR                  [        R                  :w  dO  UR                  (       a>  UR
                  R                  5       (       d  UR
                  R                  5       (       a  g[        UR
                  5      n[        SU5       HQ  nU R                  R                  UR
                  R                  U5         nUR                  UR                  :w  d  MQ    g   UR                  S   R                  nUR                   R"                  nU R                  R                  U   n[        SU5       GH-  nUR
                  R                  U5      n	U R                  R                  U	   n[        UR                  5      S:w  d  UR                  S   R$                  (       d    gUR                  S   R                  n
UR                  [        R&                  :X  a  X¢L a  M®  XXL a  M´  X¨L a  Mº  U
R                  [        R&                  :X  aV  [        U
R                  5      S:X  a=  U
R                  S   R$                  (       a  U
R                  S   R                  UL a  GM.    g   g)NFr   rG   T)r·   Ú	stateTyper   ÚSTAR_LOOP_ENTRYÚisPrecedenceDecisionrâ   r  r  ry   rÚ   r0   r  r  rÓ   r¢   rÇ   ÚendStaterã   r(  Ú	BLOCK_END)r7   r¸   r×   ÚnumCtxsrÜ   r   ÚdecisionStartStateÚblockEndStateNumÚblockEndStateÚreturnStateNumberÚreturnStateTargets              r9   r$  Ú:ParserATNSimulator.canDropLoopEntryEdgeInLeftRecursiveRuleÿ  sû  € à�L‰Lˆð �;‰;œ(×2Ñ2Ó2Ø×-×-Ø—>‘>×)Ñ)×+Ñ+Ø—>‘>×.Ñ.×0Ñ0Øô �f—n‘nÓ%ˆÜ�q˜'Ö"ˆAØŸ(™(Ÿ/™/¨&¯.©.×*GÑ*GÈÓ*JÑKˆKØ×$Ñ$¨¯©Õ3Ùñ #ð
 Ÿ]™]¨1Ñ-×4Ñ4ÐØ-×6Ñ6×BÑBÐØŸ™Ÿ™Ð(8Ñ9ˆô �q˜'×"ˆAØ &§¡× =Ñ =¸aÓ @ÐØŸ(™(Ÿ/™/Ð*;Ñ<ˆKä�;×*Ñ*Ó+¨qÓ0¸×8OÑ8OÐPQÑ8R×8\×8\Ùð !,× 7Ñ 7¸Ñ :× AÑ AÐØ×$Ñ$¬×(:Ñ(:Ó:Ð?PÒ?UÙð
 Ò+Ùð !Ò1Ùð !×*Ñ*¬h×.@Ñ.@Ó@ÜÐ)×5Ñ5Ó6¸!Ó;Ø%×1Ñ1°!Ñ4×>×>Ø%×1Ñ1°!Ñ4×;Ñ;¸qÒ@Úñ ñA #ðD r;   rS   c                 ó|   • U R                   b  US:¼  a  U R                   R                  U   $ S[        U5      -   S-   $ )Nr   z<rule Ú>)r(   Ú	ruleNamesrN   )r7   rS   s     r9   r  ÚParserATNSimulator.getRuleName@  s;   € Ø�;‰;Ñ" u¨a£xØ—;‘;×(Ñ(¨Ñ/Ð/àœc %›jÑ(¨3Ñ.Ð.r;   c                 ó$   • U R                  X5      $ r=   )ÚruleTransition©Úsimr¸   r„   r  Ú	inContextrf   rÉ   s          r9   Ú<lambda>ÚParserATNSimulator.<lambda>G  s   € Ø×Ñ˜6Ô%r;   c                 ó(   • U R                  XX4U5      $ r=   )ÚprecedenceTransitionr@  s          r9   rC  rD  I  s   € Ø× Ñ  Ð,=È'ÔRr;   c                 ó(   • U R                  XX4U5      $ r=   )ÚpredTransitionr@  s          r9   rC  rD  K  s   € Ø×Ñ˜6Ð&7ÀGÔLr;   c                 ó$   • U R                  X5      $ r=   )ÚactionTransitionr@  s          r9   rC  rD  M  s   € Ø×Ñ˜VÔ'r;   c                 ó*   • [        UR                  US9$ rÍ   )r   rÇ   r@  s          r9   rC  rD  O  s   € Ü˜Ÿ™¨Ò0r;   c                 óˆ   • U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ ©Nr   rG   r¶   ©rì   r   r�   r   rÇ   r@  s          r9   rC  rD  Q  ó6   € Þ4EÈ!Ï)É)ÔTY×T]ÑT]Ð_`Ðbc×JdÑJdŒ	˜Ÿ™¨Ñ0ÐnÐjnÐnr;   c                 óˆ   • U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ rM  rN  r@  s          r9   rC  rD  S  rO  r;   c                 óˆ   • U(       a:  UR                  [        R                  SS5      (       a  [        UR                  US9$ S $ rM  rN  r@  s          r9   rC  rD  U  rO  r;   rB  c           	      ól   • U R                   R                  UR                  S 5      nUc  g U" XX#XEU5      $ r=   )ÚepsilonTargetMethodsrå   ÚserializationType)r7   r¸   r„   r  rB  rf   rÉ   re   s           r9   r%  Ú#ParserATNSimulator.getEpsilonTargetX  s:   € Ø×%Ñ%×)Ñ)¨!×*=Ñ*=¸tÓDˆØ‰9Øá�T 1¸ÐM^Ó_Ð_r;   c                 óÈ   • [         R                  (       a:  [        S[        UR                  5      -   S-   [        UR
                  5      -   5        [        UR                  US9$ )NzACTION edge rH   r¶   )r'   rK   rM   rN   rÓ   ÚactionIndexr   rÇ   )r7   r¸   r„   s      r9   rJ  Ú#ParserATNSimulator.actionTransition_  sE   € Ü×#×#Ü�.¤3 q§{¡{Ó#3Ñ3°cÑ9¼CÀÇÁÓ<NÑNÔOÜ˜qŸx™x°Ñ7Ð7r;   Úptc                 óz  • [         R                  (       ao  [        S[        U5      -   S-   [        UR                  5      -   S-   5        U R
                  b/  [        S[        U R
                  R                  5       5      -   5        S nU(       aí  U(       aæ  U(       a¦  U R                  R                  nU R                  R                  U R                  5        UR                  5       R                  U R
                  U R                  5      nU R                  R                  U5        U(       a  [        UR                  US9nOM[!        UR"                  UR                  5       5      n	[        UR                  X‘S9nO[        UR                  US9n[         R                  (       a  [        S[        U5      -   5        U$ )NúPRED (collectPredicates=ú) z>=_p, ctx dependent=trueúcontext surrounding pred is r¶   ©r·   rß   r¸   úconfig from pred transition=)r'   rK   rM   rN   Ú
precedencer(   ÚgetRuleInvocationStackr+   rS   rb   r,   ÚgetPredicater  r-   r   rÇ   r   rà   ©
r7   r¸   rY  r  rB  rf   rÅ   ÚcurrentPositionÚpredSucceedsÚ	newSemCtxs
             r9   rF  Ú'ParserATNSimulator.precedenceTransitiond  sC  € Ü×#×#ÜÐ,¬sÐ3DÓ/EÑEÈÑLÜ˜Ÿ™Ó&ñ'Ø)CñDô Eà�{‰{Ñ&ÜÐ4´s¸4¿;¹;×;]Ñ;]Ó;_Ó7`Ñ`ÔaàˆÞ¦Þð
 #'§+¡+×"3Ñ"3�Ø—‘× Ñ  ×!1Ñ!1Ô2Ø!Ÿ™Ó0×5Ñ5°d·k±kÀ4×CUÑCUÓV�Ø—‘× Ñ  Ô1ÞÜ!¨¯	©	¸&ÑA�Aøä& v×'=Ñ'=¸r¿¹Ó?PÓQ�	Ü B§I¡I¸	ÑQ‘ä §	¡	°&Ñ9ˆAä×#×#ÜÐ0´3°q³6Ñ9Ô:Øˆr;   c                 ó  • [         R                  (       až  [        S[        U5      -   S-   [        UR                  5      -   S-   [        UR
                  5      -   S-   [        UR                  5      -   5        U R                  b/  [        S[        U R                  R                  5       5      -   5        S nU(       Ga  UR                  (       a  UR                  (       aí  U(       aæ  U(       a¦  U R                  R                  nU R                  R                  U R                  5        UR                  5       R                  U R                  U R                  5      nU R                  R                  U5        U(       a  [!        UR"                  US9nOM[%        UR&                  UR                  5       5      n	[!        UR"                  X‘S9nO[!        UR"                  US9n[         R                  (       a  [        S[        U5      -   5        U$ )	Nr[  r\  rH   z, ctx dependent=r]  r¶   r^  r_  )r'   rK   rM   rN   rÓ   Ú	predIndexÚisCtxDependentr(   ra  r+   rS   rb   r,   rb  r  r-   r   rÇ   r   rà   rc  s
             r9   rH  Ú!ParserATNSimulator.predTransition‚  s�  € Ü×#×#ÜÐ,¬sÐ3DÓ/EÑEÈÑLÌsÐSU×S_ÑS_ÓO`Ñ`ØñÜ˜bŸl™lÓ+ñ,Ø.@ñAÜCFÀr×GXÑGXÓCYñZô [à�{‰{Ñ&ÜÐ4´s¸4¿;¹;×;]Ñ;]Ó;_Ó7`Ñ`Ôaàˆß b×&7×&7¸B×<M×<MÖR[Þð
 #'§+¡+×"3Ñ"3�Ø—‘× Ñ  ×!1Ñ!1Ô2Ø!Ÿ™Ó0×5Ñ5°d·k±kÀ4×CUÑCUÓV�Ø—‘× Ñ  Ô1ÞÜ!¨¯	©	¸&ÑA�Aøä& v×'=Ñ'=¸r¿¹Ó?PÓQ�	Ü B§I¡I¸	ÑQ‘ä §	¡	°&Ñ9ˆAä×#×#ÜÐ0´3°q³6Ñ9Ô:Øˆr;   c                 óV  • [         R                  (       aJ  [        SU R                  UR                  R
                  5      -   S-   [        UR                  5      -   5        UR                  n[        R                  " UR                  UR                  5      n[        UR                  XAS9$ )Nz
CALL rule z, ctx=r  )r'   rK   rM   r  rÇ   rÓ   rN   râ   ÚfollowStater   Úcreaterã   r   )r7   r¸   r„   r   r!  s        r9   r?  Ú!ParserATNSimulator.ruleTransition   sz   € Ü×#×#Ü�, ×!1Ñ!1°!·(±(×2DÑ2DÓ!EÑEÈÑPÔSVÐW]×WeÑWeÓSfÑfÔgØ—m‘mˆÜ/×6Ò6°v·~±~À{×G^ÑG^Ó_ˆ
Ü˜qŸx™x°ÑLÐLr;   c                 óZ   • [         R                  " U5      n[         R                  " U5      $ r=   )r   r“   ÚgetAlts)r7   rJ   Úaltsetss      r9   r•   Ú%ParserATNSimulator.getConflictingAlts§  s#   € Ü ×9Ò9¸'ÓBˆÜ×%Ò% gÓ.Ð.r;   c                 ó¬   • S nUR                   [        R                  :w  a'  [        5       nUR	                  UR                   5        U$ UR
                  nU$ r=   )r–   r   rs   rÀ   r¿   rv   )r7   rJ   rv   s      r9   r£   Ú0ParserATNSimulator.getConflictingAltsOrUniqueAltÏ  sQ   € ØˆØ×Ñœs×5Ñ5Ó5Ü!›eˆOØ×Ñ × 1Ñ 1Ô2ð Ðð &×5Ñ5ˆOØÐr;   c                 ó&  • U[         R                  :X  a  gU R                  be  U R                  R                  bN  U[	        U R                  R                  5      :  a+  U R                  R                  U   S-   [        U5      -   S-   $ [        U5      $ )Nr�   Ú<r;  )r   r�   r(   r[   ry   rN   )r7   r„   s     r9   rº   ÚParserATNSimulator.getTokenNameØ  sr   € ØŒe�i‰i‹<ØØ�;‰;Ñ"Ø�K‰K×$Ñ$Ñ0Ø”�D—K‘K×,Ñ,Ó-Ó-ØŸ™×0Ñ0°Ñ3°cÑ9¼CÀ»FÑBÀSÑHÐHä�q“6ˆMr;   c                 óB   • U R                  UR                  S5      5      $ ©NrG   )rº   rm   )r7   rA   s     r9   rO   Ú#ParserATNSimulator.getLookaheadNameâ  s   € Ø× Ñ  §¡¨!£Ó-Ð-r;   Únvaec                 ó.  • [        S5        UR                  5        Hö  nSn[        UR                  R                  5      S:”  a–  UR                  R                  S   n[        U[        5      (       a  SU R                  UR                  5      -   nOI[        U[        5      (       a4  [        U[        5      nU(       a  SOSS-   [        UR                  5      -   n[        UR                  U R                  S5      S	-   U-   [        R                   S
9  Mø     g )Nzdead end configs: zno edgesr   zAtom Ú~Ú zSet TrH   )Úfile)rM   ÚgetDeadEndConfigsry   r·   r¢   r»   r    rº   Úlabelr!   r"   rN   rÀ   rZ   r(   ÚsysÚstderr)r7   r|  rÅ   rÆ   r„   Únegs         r9   ÚdumpDeadEndConfigsÚ%ParserATNSimulator.dumpDeadEndConfigsé  sÐ   € ÜÐ"Ô#Ø×'Ñ'Ö)ˆAØˆEÜ�1—7‘7×&Ñ&Ó'¨Ó)Ø—G‘G×'Ñ'¨Ñ*�Ü˜a¤×0Ñ0Ø# T×%6Ñ%6°q·w±wÓ%?Ñ?‘EÜ ¤=×1Ñ1Ü$ QÔ(8Ó9�CÞ$'™S¨R°Ñ7¼¸Q¿U¹U»ÑC�EÜ�!—*‘*˜TŸ[™[¨$Ó/°#Ñ5¸Ñ=ÄCÇJÁJÔOò *r;   c                 ón   • [        U R                  XR                  U5      UR                  S5      X25      $ rz  )r%   r(   rå   rP   )r7   rA   rC   rJ   rk   s        r9   rq   ÚParserATNSimulator.noViableAltö  s*   € Ü# D§K¡K°¿	¹	À*Ó8MÈuÏxÉxÐXYË{Ð\cÓrÐrr;   c                 óÀ   • [         R                  nU HG  nU[         R                  :X  a  UR                  nM%  UR                  U:w  d  M7  [         R                  s  $    U$ r=   )r   rs   rh   )r7   rJ   rh   rÅ   s       r9   r’   ÚParserATNSimulator.getUniqueAltù  sL   € Ü×$Ñ$ˆÛˆAØ”c×,Ñ,Ó,Ø—e‘e’Ø—‘˜•Ü×-Ñ-Ò-ñ	 ð
 ˆ
r;   Úfrom_Útoc                 óF  • [         R                  (       a;  [        S[        U5      -   S-   [        U5      -   S-   U R	                  U5      -   5        Uc  g U R                  X5      nUb  US:  d  X0R                  R                  :”  a  U$ UR                  c"  S /U R                  R                  S-   -  Ul        XBR                  US-   '   [         R                  (       aB  U R                  c  S OU R                  R                  n[        SUR                  U5      -   5        U$ )NzEDGE z -> z upon r«   é   rG   zDFA=
)r'   rK   rM   rN   rº   r_   r0   rí   rŒ   r(   r[   rZ   )r7   rd   rŒ  r„   r�  Únamess         r9   r‘   ÚParserATNSimulator.addDFAEdge  sì   € Ü×#×#Ü�'œC ›JÑ&¨Ñ/´#°b³'Ñ9¸HÑDÀt×GXÑGXÐYZÓG[Ñ[Ô\à‰:Øà×Ñ˜cÓ&ˆØ‰=˜A ›F a¯(©(×*?Ñ*?Ó&?ØˆIà�;‰;ÑØ˜& D§H¡H×$9Ñ$9¸AÑ$=Ñ>ˆEŒKØ�‰�A�a‘CÑä×#×#Ø ŸK™KÑ/‘D°T·[±[×5MÑ5MˆEÜ�(˜SŸ\™\¨%Ó0Ñ0Ô1àˆ	r;   c                 ó²  • X R                   L a  U$ UR                  R                  US 5      nUb  U$ [        UR                  5      Ul        UR
                  R                  (       d6  UR
                  R                  U 5        UR
                  R                  S5        X!R                  U'   [        R                  (       a  [        S[        U5      -   5        U$ )NTzadding new DFA state: )rp   r  rå   ry   rã   rJ   ÚreadonlyÚoptimizeConfigsÚsetReadonlyr'   rK   rM   rN   )r7   rd   r…   Úexistings       r9   r_   ÚParserATNSimulator.addDFAState:  sœ   € Ø—
‘
Š?ØˆHð —:‘:—>‘> ! TÓ*ˆØÑØˆOä˜CŸJ™J›ˆŒØ�y‰y×!×!Ø�I‰I×%Ñ% dÔ+Ø�I‰I×!Ñ! $Ô'Ø�
‰
�1‰Ü×#×#ÜÐ*¬S°«VÑ3Ô4Øˆr;   rv   rˆ   c                 óš  • [         R                  (       d  [         R                  (       a]  [        S[	        UR
                  5      -   S-   [	        U5      -   S-   U R                  R                  5       R                  XE5      -   5        U R                  b7  U R                  R                  5       R                  U R                  XXRU5        g g )Nz%reportAttemptingFullContext decision=rH   ú, input=)r'   rK   Úretry_debugrM   rN   rB   r(   ÚgetTokenStreamÚgetTextÚgetErrorListenerDispatchr|   )r7   rd   rv   rJ   rk   rˆ   s         r9   r|   Ú.ParserATNSimulator.reportAttemptingFullContextL  s¨   € Ü×#×#Ô'9×'E×'EÜÐ9¼CÀÇÁÓ<MÑMÐPSÑSÔVYÐZaÓVbÑbØ)ñ*Ø,0¯K©K×,FÑ,FÓ,H×,PÑ,PÐQ[Ó,gñhô ià�;‰;Ñ"Ø�K‰K×0Ñ0Ó2×NÑNÈtÏ{É{Ð\_Ðmvð  JQõ  Rð #r;   r   c                 óš  • [         R                  (       d  [         R                  (       a]  [        S[	        UR
                  5      -   S-   [	        U5      -   S-   U R                  R                  5       R                  XE5      -   5        U R                  b7  U R                  R                  5       R                  U R                  XXRU5        g g )Nz"reportContextSensitivity decision=rH   r™  )r'   rK   rš  rM   rN   rB   r(   r›  rœ  r�  r°   )r7   rd   r   rJ   rk   rˆ   s         r9   r°   Ú+ParserATNSimulator.reportContextSensitivityS  s§   € Ü×#×#Ô'9×'E×'EÜÐ6¼¸S¿\¹\Ó9JÑJÈSÑPÔSVÐW^ÓS_Ñ_Ø)ñ*Ø,0¯K©K×,FÑ,FÓ,H×,PÑ,PÐQ[Ó,gñhô ià�;‰;Ñ"Ø�K‰K×0Ñ0Ó2×KÑKÈDÏKÉKÐY\Ðjsð  BIõ  Jð #r;   Úexactc           	      ó†  • [         R                  (       d  [         R                  (       aS  [        S[	        U5      -   S-   [	        U5      -   S-   U R
                  R                  5       R                  X45      -   5        U R
                  b7  U R
                  R                  5       R                  U R
                  XXEXg5        g g )NzreportAmbiguity rH   r™  )
r'   rK   rš  rM   rN   r(   r›  rœ  r�  r€   )r7   rd   r…   rk   rˆ   r¡  rï   rJ   s           r9   r€   Ú"ParserATNSimulator.reportAmbiguity[  s�   € ä×#×#Ô'9×'E×'Eô" Ð$¤s¨9£~Ñ5¸Ñ;¼cÀ'»lÑJØ)ñ*Ø,0¯K©K×,FÑ,FÓ,H×,PÑ,PÐQ[Ó,gñhô ià�;‰;Ñ"Ø�K‰K×0Ñ0Ó2×BÑBÀ4Ç;Á;ÐPSÐajÐs|õ  Gð #r;   )r.   r+   r-   r,   r)   r/   r(   r*   )TÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__rK   rL   r{   rš  r	   r   r¼   r   r5   r?   r   Úintr
   ri   r   r#   ra   rn   ro   r   r™   r   r}   Úboolr�   rÁ   r   r   r\   r^   r   r¾   rÀ   r¤   r¥   rr   rû   rú   rx   r   r´   r  r  r$  r  r¹   rS  ÚRULEÚ
PRECEDENCEÚ	PREDICATEÚACTIONrÑ   ÚATOMÚRANGEÚSETr%  r   rJ  r   rF  r   rH  r   r?  r•   r£   rº   rO   r%   r†  rq   r’   r‘   r_   r|   r°   r€   Ú__static_attributes__Ú__classcell__)r8   s   @r9   r'   r'     sŸ  ø† ð€Ið
 €EØ$ÐØ€IØ€Kð˜fð ¨#ð ¸Tð ÐVl÷ ò,ð< Kð <¸#ð <ÐL]ô <ðxT ˜#ð T  (ð T °+ð T È#ð T Ð\mô T ðB ¨xð  ¸3ô  ð&& Sð &°Hð &Àô &ðP>¨ð >Àô >ð$e¨ð e°ð eØ,8ðeà/:ðeð 58ðeð 7Hô	eðNk lð k°cð kÀ4ô kðB¸ð ÐW[ô ð
 (ð 
°ð 
ÀTô 
ðH#¨Lô #ðJ zð ¸ô ð¨Sð ¸,ð Ècô ð@°ð ¸tô ð|
&Èlð 
&Ðizô 
&ð¸,ô ð&"°|ð "ÐRcô "ð(°$ð ÐEVð Ðaeô ð8K˜Yð K°ð KÈ#ð KÐaeð KÐosð Kð  HLô Kð'j¨ið 'jÀð 'jÐ[^ð 'jÐrvð 'jð  AEð 'jð  MPð 'jð  dhô 'jðT0A˜ið 0A°ð 0AÈ3ð 0AÐbfð 0AÐptð 0AÐ|ð 0Að  TXô 0AòX>ðB/ ô /ñ  ›6Ðñ-&Ð˜Ÿ™Ñ)ñ3SÐ˜×.Ñ.Ñ/ñ2MÐ˜×-Ñ-Ñ.ñ/(Ð˜×*Ñ*Ñ+ñ01Ð˜×+Ñ+Ñ,ñ-oÐ˜Ÿ™Ñ)ñ.oÐ˜×)Ñ)Ñ*ñ,oÐ˜Ÿ™Ñ(ð` ið `°:ð `ÐQUð `Ðaeð `Ðosð `ð  HLô `ð8 ið 8Ð3Cô 8ð
¨)ð Ð8Uð Ðjnð Ðz~ð ð  IMô ð< Ið Ð2Eð ÐY]ð Ðimð Ðw{ô ð<M Ið M°ô Mð/¨ô /ðP°Lô ð˜Sô ð. [ô .ðPÐ&:ô Pðs ð sÐ:Kð sÐUað sÐnqô sð <ô ð:˜Sð ¨ð °Cð ¸Hô ðH˜cð  Xô ð$R¨cð RÀ3ð RÐP\ð RÐilð RÐx{ô RðJ¨3ð J¸3ð JÈð JÐadð JÐpsô JðG #ð G¨ð G¸cð GÈSð GØ)-ðGØ9<ðGØFR÷Gò Gr;   r'   )7rƒ  Úantlr4r   Úantlr4.PredictionContextr   r   r   r   Úantlr4.BufferedTokenStreamr   Úantlr4.Parserr	   Úantlr4.ParserRuleContextr
   Úantlr4.RuleContextr   Úantlr4.Tokenr   Úantlr4.Utilsr   Úantlr4.atn.ATNr   Úantlr4.atn.ATNConfigr   Úantlr4.atn.ATNConfigSetr   Úantlr4.atn.ATNSimulatorr   Úantlr4.atn.ATNStater   r   r   r   Úantlr4.atn.PredictionModer   Úantlr4.atn.SemanticContextr   r   r   r   Úantlr4.atn.Transitionr   r   r   r   r   r    r!   r"   Úantlr4.dfa.DFAStater#   r$   Úantlr4.error.Errorsr%   r'   r>   r;   r9   Ú<module>rÆ     sm   ðóT Ý ÷%ó %å 2Ý  Ý 6Ý *Ý Ý !Ý Ý *Ý 0Ý 0ß ZÓ ZÝ 4ß RÓ R÷I÷ Ió Iç 8Ý 4ôpG˜õ pGr;   