Ë
    O/æj”9 ã                   ó>  — d dl Z ddlmZ ddlmZmZmZmZ ddlmZ ddl	m	Z	 ddl
m
Z
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZmZmZmZ ddlmZ ddlmZm Z m!Z!m"Z" ddl#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ ddl,m-Z-m.Z. ddl/m0Z0  G d„ de«      Z1y)é    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                   ój  ‡ — e Zd ZdZdZdZdZdZdede	de
defˆ fd„Zd„ Zd	ed
edefd„Zdeded	ededef
d„Zdedefd„Zdededefd„Zdedefd„Zdededed	ededefd„Zdededefd„Zdedefd„Zd ed!edefd"„Z defd#„Z!d$e"d%efd&„Z#d'e$ded(efd)„Z%d'e$d*e
fd+„Z&dedefd,„Z'defd-„Z(dedefd.„Z)d/e
ded0efd1„Z*d2e+ded3e$d4eded5efd6„Z,d2e+ded3e$d4eded7ed5efd8„Z-d2e+ded3e$d4eded7ed5efd9„Z.d:„ Z/d;efd<„Z0 e1«       Z2d=„ e2e"jf                  <   d>„ e2e"jh                  <   d?„ e2e"jj                  <   d@„ e2e"jl                  <   dA„ e2e"jn                  <   dB„ e2e"jp                  <   dC„ e2e"jr                  <   dD„ e2e"jt                  <   d2e+de"d4edEeded5efdF„Z;d2e+de<fdG„Z=d2e+dHe>d4edEedef
dI„Z?d2e+dHe@d4edEedef
dJ„ZAd2e+deBfdK„ZCdefdL„ZDdefdM„ZEdefdN„ZFd	efdO„ZGdPeHfdQ„ZId	edededefdR„ZJdefdS„ZKdedTededUefdV„ZLdedefdW„ZMdedXe$dededYef
dZ„ZNded[edededYef
d\„ZOdedededYed]ed'e$defd^„ZPˆ xZQS )_ÚParserATNSimulator)ÚparserÚdecisionToDFAÚpredictionModeÚ_inputÚ_startIndexÚ_outerContextÚ_dfaÚ
mergeCacheFr)   Úatnr*   ÚsharedContextCachec                 ó²   •— t         ‰| �  ||«       || _        || _        t        j
                  | _        d | _        d| _        d | _	        d | _
        d | _        y ©Nr   )ÚsuperÚ__init__r)   r*   r   ÚLLr+   r,   r-   r.   r/   r0   )Úselfr)   r1   r*   r2   Ú	__class__s        €úq/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/omegaconf/vendor/antlr4/atn/ParserATNSimulator.pyr6   zParserATNSimulator.__init__  sW   ø€ Ü‰Ñ˜Ð0Ô1ØˆŒØ*ˆÔä,×/Ñ/ˆÔàˆŒØˆÔØ!ˆÔØˆŒ	ð ˆ�ó    c                  ó   — y ©N© )r8   s    r:   ÚresetzParserATNSimulator.reset#  s   € Ør;   ÚinputÚdecisionÚouterContextc                 ó�  — t         j                  st         j                  r|t        dt	        |«      z   dz   | j                  |«      z   dz   t	        |j                  d«      j                  «      z   dz   t	        |j                  d«      j                  «      z   «       || _	        |j                  | _        || _        | j                  |   }|| _        |j                  «       }|j                  }	 |j                   r*|j#                  | j$                  j'                  «       «      }n|j(                  }|�€W|€t*        j,                  }t         j                  st         j                  r`t        dt	        |j.                  «      z   dz   | j                  |«      z   dz   |j1                  | j$                  j2                  d «      z   «       d}| j5                  |j6                  t*        j,                  |«      }	|j                   ri|	|j(                  _        | j;                  |	«      }	| j=                  |t?        |	¬	«      «      }|jA                  | j$                  j'                  «       |«       n#| j=                  |t?        |	¬	«      «      }||_        | jC                  |||||«      }
t         j                  r1t        d
|j1                  | j$                  j2                  «      z   «       |
d | _        d | _"        |jG                  |«       |jI                  |«       S # d | _        d | _"        |jG                  |«       |jI                  |«       w xY w)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   ÚEMPTYrA   ÚtoStringÚliteralNamesÚcomputeStartStateÚatnStartStaterI   ÚapplyPrecedenceFilterÚaddDFAStater$   ÚsetPrecedenceStartStateÚexecATNr0   ÚseekÚrelease)r8   r@   rA   rB   ÚdfaÚmrR   rW   ÚfullCtxÚ
s0_closureÚalts              r:   ÚadaptivePredictz"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�C—F‘F”NØ!%×!;Ñ!;¸JÓ!G�JØ×)Ñ)¨#¬xÀ
Ô/KÓL�BØ×/Ñ/°·±×0IÑ0IÓ0KÈRÕPà×)Ñ)¨#¬xÀ
Ô/KÓL�BØ�C”Fà—,‘,˜s B¨¨u°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   Ã/G3L Ì2Mrc   rW   Ú
startIndexc           	      ó  — t         j                  st         j                  r†t        dt	        |j
                  «      z   dz   | j                  |«      z   dz   t	        |j                  d«      j                  «      z   dz   t	        |j                  d«      j                  «      z   «       |}t         j                  rt        dt	        |«      z   «       |j                  d«      }	 | j                  ||«      }|€| j                  |||«      }|| j                  u rb| j                  |||j                  |«      }	|j!                  |«       | j#                  |j                  |«      }
|
t$        j&                  k7  r|
S |	‚|j(                  �rz| j*                  t,        j.                  k7  �r\|j                  j0                  }|j2                  �¤t         j                  rt        d«       |j4                  }||k7  r|j!                  |«       | j7                  |j2                  |d«      }t9        |«      dk(  r&t         j                  rt        d	«       t;        |«      S ||k7  r|j!                  |«       t         j<                  r&t        d
t	        |«      z   dz   t	        |«      z   «       d}| j?                  |j@                  ||«      }| jC                  |||j                  ||j4                  «       | jE                  ||||||«      }
|
S |jF                  rÃ|j2                  €|jH                  S |j4                  }|j!                  |«       | j7                  |j2                  |d«      }t9        |«      dk(  r| j                  |||j                  |«      ‚t9        |«      dk(  rt;        |«      S | jK                  ||||d||j                  «       t;        |«      S |}|tL        jN                  k7  r!|jQ                  «        |j                  d«      }�Œ%)NzexecATN decision rD   rE   rF   rG   zs0 = Tz*DFA state has preds in DFA sim LL failoverzFull LL avoidedzctx sensitive state z in r   F))r(   rJ   rK   rL   rM   rA   rN   rO   rP   rQ   ÚLAÚgetExistingTargetStateÚcomputeTargetStateÚERRORÚnoViableAltrI   ra   Ú7getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuler   ÚINVALID_ALT_NUMBERÚrequiresFullContextr+   r   ÚSLLÚconflictingAltsÚ
predicatesrR   ÚevalSemanticContextÚlenÚminÚ	dfa_debugr[   r\   ÚreportAttemptingFullContextÚexecATNWithFullContextÚisAcceptStateÚ
predictionÚreportAmbiguityr   ÚEOFÚconsume)r8   rc   rW   r@   ri   rB   Ú	previousDÚtÚDÚerg   rt   ÚconflictIndexre   rf   Ú	stopIndexÚaltss                    r:   r`   zParserATNSimulator.execATN‚  sz  € Ü×#Ò#Ô'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°qÓ9ˆAØˆyØ×+Ñ+¨C°¸AÓ>�Ø�D—J‘J‰ð ×$Ñ$ U¨L¸)×: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À|ÐU\Ó]�
Ø×0Ñ0°°oÀqÇyÁyÐR\Ð^c×^iÑ^iÔjØ×1Ñ1°#°q¸*ÀeÈZÐYeÓf�Ø�
à�ŠØ—<‘<Ð'ØŸ<™<Ð'à!ŸK™K�	Ø—
‘
˜:Ô&Ø×/Ñ/°·±¸lÈDÓQ�Ü�t“9˜a’<Ø×*Ñ*¨5°,ÀÇ	Á	È:ÓVÐVÜ˜“Y ’\Ü˜t›9Ð$ð ×(Ñ(¨¨a°¸YÈÈtÐUV×U^ÑU^Ô_Ü˜t›9Ð$àˆIà”E—I‘IŠ~Ø—‘”Ø—H‘H˜Q“K�ñO r;   r�   r‚   c                 ób   — |j                   }|�|dz   dk  s|dz   t        |«      k\  ry ||dz      S )NrF   r   )Úedgesrw   )r8   r�   r‚   r‰   s       r:   rl   z)ParserATNSimulator.getExistingTargetStateã  s:   € Ø—‘ˆØˆ=˜A ™E AšI¨¨Q©´#°e³*Ò)<Øà˜˜Q™‘<Ðr;   c                 óh  — | j                  |j                  |d«      }|€*| j                  |||| j                  «       | j                  S t	        |¬«      }| j                  |«      }t        j                  rŠt        j                  |«      }t        dt        |«      z   dz   t        |«      z   dz   t        |«      z   dz   t        t        j                  |«      «      z   dz   t        | j                  |«      «      z   «       |t        j                  k7  r d|_        ||j                  _        ||_        nrt        j&                  | j(                  |«      rR| j                  |«      |j                  _        d|_        d|_        t/        |j                  j*                  «      |_        |j                   rl|j                  j0                  rV| j3                  || j4                  j7                  |j8                  «      «       |j:                  �t        j                  |_        | j                  ||||«      }|S )	NFrH   zSLL altSubSets=z
, configs=ú
, predict=z, allSubsetsConflict=z, conflictingAlts=T)ÚcomputeReachSetrI   Ú
addDFAEdgern   r$   ÚgetUniqueAltr(   rJ   r   ÚgetConflictingAltSubsetsrL   rM   ÚallSubsetsConflictÚgetConflictingAltsr   rq   r|   Ú	uniqueAltr}   Ú#hasSLLConflictTerminatingPredictionr+   rt   rr   rx   ÚhasSemanticContextÚpredicateDFAStater1   ÚgetDecisionStaterA   ru   )r8   rc   r�   r‚   Úreachrƒ   ÚpredictedAltÚ
altSubSetss           r:   rm   z%ParserATNSimulator.computeTargetStateö  s×  € Ø×$Ñ$ Y×%6Ñ%6¸¸5ÓAˆØˆ=Ø�O‰O˜C ¨A¨t¯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Ø".ˆA�I‰IÔØ'ˆA�LÜ×?Ñ?À×@SÑ@SÐUZÔ[à(,×(?Ñ(?ÀÓ(FˆA�I‰IÔ%Ø$(ˆAÔ!à"ˆAŒOÜ˜qŸy™y×8Ñ8Ó9ˆAŒLà�?Š?˜qŸy™y×;Ò;Ø×"Ñ" 1 d§h¡h×&?Ñ&?ÀÇÁÓ&MÔNØ�|‰|Ð'Ü"×5Ñ5�”ð �O‰O˜C ¨A¨qÓ1ˆØˆr;   ÚdfaStateÚdecisionStatec                 ó  — t        |j                  «      }| j                  |j                  «      }| j	                  ||j                  |«      }|�-| j                  ||«      |_        t        j                  |_	        y t        |«      |_	        y r=   )rw   ÚtransitionsÚgetConflictingAltsOrUniqueAltrI   ÚgetPredsForAmbigAltsÚgetPredicatePredictionsru   r   rq   r}   rx   )r8   rš   r›   ÚnaltsÚaltsToCollectPredsFromÚ	altToPreds         r:   r•   z$ParserATNSimulator.predicateDFAState  s„   € ô �M×-Ñ-Ó.ˆð "&×!CÑ!CÀH×DTÑDTÓ!UÐØ×-Ñ-Ð.DÀh×FVÑFVÐX]Ó^ˆ	ØÐ Ø"&×">Ñ">Ð?UÐW`Ó"aˆHÔÜ"%×"8Ñ"8ˆHÕô
 #&Ð&<Ó"=ˆHÕr;   rƒ   c           	      óL  — t         j                  st         j                  rt        dt	        |«      «       d}d}d }	|}
|j                  |«       |j                  d«      }d}	 | j                  |
||«      }	|	€N| j                  |||
|«      }|j                  |«       | j                  |
|«      }|t        j                  k7  r|S |‚t        j                  |	«      }t         j                  r[t        dt	        |«      z   dz   t	        t        j                  |«      «      z   dz   t	        t        j                  |«      «      z   «       | j                  |	«      |	_        |	j                   t        j                  k7  r|	j                   }n¿| j"                  t        j$                  ur)t        j                  |«      }|t        j                  k7  rCnzt        j&                  |«      r-t        j(                  |«      rd}t        j*                  |«      }n8|	}
|t,        j.                  k7  r!|j1                  «        |j                  d«      }�Œâ|	j                   t        j                  k7  r!| j3                  |||	||j4                  «       |S | j7                  ||||j4                  |d |	«       |S )	Nr{   TFrF   éÿÿÿÿzLL altSubSets=r‹   z, resolvesToJustOneViableAlt=)r(   rJ   rK   rL   rM   ra   rk   rŒ   ro   rp   r   rq   r   r�   rŽ   ÚresolvesToJustOneViableAltr’   r+   ÚLL_EXACT_AMBIG_DETECTIONr�   ÚallSubsetsEqualÚgetSingleViableAltr   r   r€   ÚreportContextSensitivityrR   r~   )r8   rc   rƒ   rW   r@   ri   rB   re   ÚfoundExactAmbigr—   Úpreviousr‚   r˜   r„   rg   r™   s                   r:   r{   z)ParserATNSimulator.execATNWithFullContext0  s[  € ô
 ×#Ò#Ô'9×'RÒ'RÜÐ*¬C°«GÔ4ØˆØˆØˆØˆØ�
‰
�:ÔØ�H‰H�Q‹KˆØˆØØ×(Ñ(¨°1°gÓ>ˆEØˆ}ð ×$Ñ$ U¨L¸(ÀJÓO�Ø—
‘
˜:Ô&Ø×RÑRÐS[Ð]iÓ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Ø&*�OÜ#1×#DÑ#DÀZÓ#P�LØð
 ˆHØ”E—I‘IŠ~Ø—‘”Ø—H‘H˜Q“K�ñc ðl �?‰?œc×4Ñ4Ò4Ø×)Ñ)¨#¨|¸UÀJÐPU×P[ÑP[Ô\ØÐð: 	×Ñ˜S ! Z°·±¸oÈtÐUZÔ[àÐr;   Úclosurere   c           	      ó|  — t         j                  rt        dt        |«      z   «       | j                  €t        «       | _        t        |«      }d }|D ]â  }t         j                  r,t        d| j                  |«      z   dz   t        |«      z   «       t        |j                  t        «      r3|s|t        j                  k(  r|€
t        «       }|j                  |«       ŒŒ|j                  j                  D ]>  }| j!                  ||«      }|€Œ|j#                  t%        ||¬«      | j                  «       Œ@ Œä d }	|€H|t        j                  k7  r5t'        |«      dk(  r|}	n$| j)                  |«      t*        j,                  k7  r|}	|	€Et        |«      }	t/        «       }
|t        j                  k(  }|D ]  }| j1                  ||	|
d||«       Œ |t        j                  k(  r| j3                  |	|	|u «      }	|�:|rt5        j6                  |	«      s#|D ]  }|	j#                  || j                  «       Œ  t'        |	«      dk(  ry |	S )Nz&in computeReachSet, starting closure: ztesting z at ©ÚstateÚconfigrF   Fr   )r(   rJ   rL   rM   r0   Údictr   ÚgetTokenNameÚ
isinstancer°   r   r   r   ÚlistÚappendr�   ÚgetReachableTargetÚaddr   rw   rŽ   r   rq   Úsetr­   Ú"removeAllConfigsNotInRuleStopStater   ÚhasConfigInRuleStopState)r8   r­   r‚   re   ÚintermediateÚskippedStopStatesÚcÚtransÚtargetr—   ÚclosureBusyÚtreatEofAsEpsilons               r:   rŒ   z"ParserATNSimulator.computeReachSet—  s  € Ü×#Ò#ÜÐ:¼SÀ»\ÑIÔJà�?‰?Ð"Ü"›fˆDŒOä# GÓ,ˆð !Ðð ò 	YˆAÜ!×'Ò'Ü�j 4×#4Ñ#4°QÓ#7Ñ7¸&Ñ@Ä3ÀqÃ6ÑIÔJä˜!Ÿ'™'¤=Ô1Ù˜a¤5§9¡9šnØ(Ð0Ü,0«FÐ)Ø%×,Ñ,¨QÔ/ØàŸ™×,Ñ,ò Y�Ø×0Ñ0°¸Ó:�ØÑ%Ø ×$Ñ$¤Y°VÀAÔ%FÈÏÉÕXñYð	Yð$ ˆð Ð$¨¬E¯I©IªÜ�<Ó  !Ò#ð
 %‘Ø×"Ñ" <Ó0´#×2HÑ2HÒHð %�ð
 ˆ=Ü  Ó)ˆEÜ›%ˆKØ !¤U§Y¡Y¡ÐØ!ò W�Ø—‘˜Q  {°E¸7ÐDUÕVðWð ”—	‘	Š>ð$ ×;Ñ;¸EÀ5ÈLÐCXÓYˆEð Ð(±GÄ^×ElÑElÐmrÔEsØ&ò .�Ø—	‘	˜!˜TŸ_™_Õ-ð.äˆu‹:�qŠ=ØàˆLr;   rI   ÚlookToEndOfRulec                 ó&  — t        j                  |«      r|S t        |j                  «      }|D ]ß  }t	        |j
                  t        «      r|j                  || j                  «       Œ:|sŒ=|j
                  j                  sŒT| j                  j                  |j
                  «      }t        j                  |v sŒŒ| j                  j                  |j
                  j                     }|j                  t!        ||¬«      | j                  «       Œá |S ©Nr¯   )r   ÚallConfigsInRuleStopStatesr   re   r´   r°   r   r¸   r0   ÚepsilonOnlyTransitionsr1   Ú
nextTokensr   ÚEPSILONÚruleToStopStateÚ	ruleIndexr   )r8   rI   rÃ   Úresultr±   rÈ   ÚendOfRuleStates          r:   rº   z5ParserATNSimulator.removeAllConfigsNotInRuleStopState  sÈ   € Ü×4Ñ4°WÔ=ØˆNÜ˜gŸo™oÓ.ˆØò 	`ˆFÜ˜&Ÿ,™,¬Ô6Ø—
‘
˜6 4§?¡?Ô3ØÚ 6§<¡<×#FÓ#FØ!ŸX™X×0Ñ0°·±Ó>�
Ü—=‘= JÒ.Ø%)§X¡X×%=Ñ%=¸f¿l¹l×>TÑ>TÑ%U�NØ—J‘Jœy¨~ÀfÔMÈtÏÉÕ_ð	`ð ˆr;   ÚpÚctxc           	      ó"  — t        | j                  |«      }t        |«      }t        dt	        |j
                  «      «      D ]K  }|j
                  |   j                  }t        ||dz   |«      }t        «       }	| j                  |||	d|d«       ŒM |S )Nr   rF   TF)
r   r1   r   Úrangerw   r�   rÀ   r   r¹   r­   )
r8   rÎ   rÏ   re   ÚinitialContextrI   ÚirÀ   r¾   rÁ   s
             r:   r[   z$ParserATNSimulator.computeStartState'  s‡   € ä9¸$¿(¹(ÀCÓHˆÜ˜wÓ'ˆä�qœ#˜aŸm™mÓ,Ó-ò 	HˆAØ—]‘] 1Ñ%×,Ñ,ˆFÜ˜& ! A¡# ~Ó6ˆAÜ›%ˆKØ�L‰L˜˜G [°$¸ÀÕGð		Hð
 ˆr;   c                 ó¬  — t        «       }t        |j                  «      }|D ]º  }|j                  dk7  rŒ|j                  j                  | j                  | j                  «      }|€ŒF|j                  ||j                  j                  <   ||j                  ur(|j                  t        ||¬«      | j                  «       ŒŸ|j                  || j                  «       Œ¼ |D ]p  }|j                  dk(  rŒ|j                  s6|j                  |j                  j                  d «      }||j                  k(  rŒU|j                  || j                  «       Œr |S )NrF   )r±   Úsemantic)r²   r   re   rg   ÚsemanticContextÚevalPrecedencer)   r.   Úcontextr°   ÚstateNumberr¸   r   r0   ÚprecedenceFilterSuppressedÚget)r8   rI   ÚstatesFromAlt1Ú	configSetr±   ÚupdatedContextrØ   s          r:   r]   z(ParserATNSimulator.applyPrecedenceFilterk  s#  € Ü›ˆÜ  §¡Ó1ˆ	Øò 	7ˆFà�z‰z˜QŠØØ#×3Ñ3×BÑBÀ4Ç;Á;ÐPT×PbÑPbÓcˆNØÐ%àà7=·~±~ˆN˜6Ÿ<™<×3Ñ3Ñ4Ø V×%;Ñ%;Ñ;Ø—‘œi¨vÀÔOÐQU×Q`ÑQ`Õaà—‘˜f d§o¡oÕ6ð	7ð ò 	3ˆFØ�z‰z˜QŠàð ×4Ò4Ø(×,Ñ,¨V¯\©\×-EÑ-EÀtÓL�Ø˜FŸN™NÒ*àà�M‰M˜& $§/¡/Õ2ð	3ð" Ðr;   r¿   Úttypec                 ój   — |j                  |d| j                  j                  «      r|j                  S y r4   )Úmatchesr1   ÚmaxTokenTyperÀ   )r8   r¿   rß   s      r:   r·   z%ParserATNSimulator.getReachableTarget�  s)   € Ø�=‰=˜  4§8¡8×#8Ñ#8Ô9Ø—<‘<Ðàr;   Ú	ambigAltsr¡   c                 ó”  — d g|dz   z  }|D ]A  }|j                   |v sŒt        ||j                      |j                  «      ||j                   <   ŒC d}t        d|dz   «      D ]6  }||   €t        j
                  ||<   Œ||   t        j
                  usŒ2|dz  }Œ8 |dk(  rd }t        j                  rt        dt        |«      z   «       |S )NrF   r   zgetPredsForAmbigAlts result )
rg   r   rÖ   rÑ   r   ÚNONEr(   rJ   rL   r   )r8   rã   rI   r¡   r£   r¾   Ú	nPredAltsrÓ   s           r:   rŸ   z'ParserATNSimulator.getPredsForAmbigAlts–  sÚ   € ð �F˜e a™iÑ(ˆ	Øò 	RˆAØ�u‰u˜	Ò!Ü#,¨Y°q·u±uÑ-=¸q×?PÑ?PÓ#Q�	˜!Ÿ%™%Ò ð	Rð ˆ	Ü�q˜% ™'Ó"ò 	ˆAØ˜‰|Ð#Ü.×3Ñ3�	˜!’Ø˜1‘¤_×%9Ñ%9Ò9Ø˜Q‘‘	ð		ð �aŠ<ØˆIÜ×#Ò#ÜÐ0´8¸IÓ3FÑFÔGØÐr;   r£   c                 ó¾   — g }d}t        dt        |«      «      D ]=  }||   }|�||v r|j                  t        ||«      «       |t        j
                  usŒ<d}Œ? |sy |S )NFrF   T)rÑ   rw   r¶   r%   r   rå   )r8   rã   r£   ÚpairsÚcontainsPredicaterÓ   Úpreds          r:   r    z*ParserATNSimulator.getPredicatePredictions¶  sp   € ØˆØ!ÐÜ�qœ#˜i›.Ó)ò 	)ˆAØ˜Q‘<ˆDàÐ$¨¨i©Ø—‘œ^¨D°!Ó4Ô5Øœ?×/Ñ/Ò/Ø$(Ñ!ð	)ñ !Øàˆr;   c                 ó   — | j                  ||«      \  }}| j                  |«      }|t        j                  k7  r|S t	        |«      dkD  r&| j                  |«      }|t        j                  k7  r|S t        j                  S r4   )Ú splitAccordingToSemanticValidityÚ#getAltThatFinishedDecisionEntryRuler   rq   rw   )r8   rI   rB   ÚsemValidConfigsÚsemInvalidConfigsrg   s         r:   rp   zJParserATNSimulator.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuleô  s}   € Ø-1×-RÑ-RÐSZÐ\hÓ-iÑ*ˆÐ*Ø×6Ñ6°ÓGˆØ”×&Ñ&Ò&ØˆJäÐ Ó! !Ò#Ø×:Ñ:Ð;LÓMˆCØ”C×*Ñ*Ò*Ø�
Ü×%Ñ%Ð%r;   c                 ó6  — t        «       }|D ]b  }|j                  dkD  s6t        |j                  t        «      sŒ-|j
                  j                  «       sŒH|j                  |j                  «       Œd t        |«      dk(  rt        j                  S t        |«      S r4   )r¹   ÚreachesIntoOuterContextr´   r°   r   rØ   ÚhasEmptyPathr¸   rg   rw   r   rq   rx   )r8   rI   r‡   r¾   s       r:   rí   z6ParserATNSimulator.getAltThatFinishedDecisionEntryRule   sw   € Ü‹uˆØò 	 ˆAØ×(Ñ(¨Ò*¬z¸!¿'¹'Ä=Õ/QÐVW×V_ÑV_×VlÑVlÕVnØ—‘˜Ÿ™•ð	 ô ˆt‹9�aŠ<Ü×)Ñ)Ð)ä�t“9Ðr;   c                 ó^  — t        |j                  «      }t        |j                  «      }|D ]{  }|j                  t        j                  urL|j                  j                  | j                  |«      }|r|j                  |«       ŒY|j                  |«       Œk|j                  |«       Œ} ||fS r=   )r   re   rÖ   r   rå   Úevalr)   r¸   )r8   rI   rB   Ú	succeededÚfailedr¾   ÚpredicateEvaluationResults          r:   rì   z3ParserATNSimulator.splitAccordingToSemanticValidity  s’   € Ü  §¡Ó1ˆ	Ü˜gŸo™oÓ.ˆØò 	!ˆAØ× Ñ ¬×(<Ñ(<Ñ<Ø,-×,=Ñ,=×,BÑ,BÀ4Ç;Á;ÐP\Ó,]Ð)Ù,Ø—M‘M !Õ$à—J‘J˜q•Mà—‘˜aÕ ð	!ð ˜&Ð!Ð!r;   ÚpredPredictionsÚcompletec                 óF  — t        «       }|D �]  }|j                  t        j                  u r!|j	                  |j
                  «       |s |S ŒA|j                  j                  | j                  |«      }t        j                  st        j                  r&t        dt        |«      z   dz   t        |«      z   «       |sŒ°t        j                  st        j                  r!t        dt        |j
                  «      z   «       |j	                  |j
                  «       |r�Œ |S  |S )Nz
eval pred ú=zPREDICT )r¹   rê   r   rå   r¸   rg   rô   r)   r(   rJ   ry   rL   rM   )r8   rø   rB   rù   ÚpredictionsÚpairr÷   s          r:   rv   z&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Ø—‘ §¡Ô)ÛØØÐð!	ð  Ðr;   r±   rÁ   ÚcollectPredicatesrÂ   c           	      ó6   — d}| j                  |||||||«       y r4   )ÚclosureCheckingStopState)r8   r±   rI   rÁ   rþ   re   rÂ   ÚinitialDepths           r:   r­   zParserATNSimulator.closureC  s'   € ØˆØ×%Ñ% f¨g°{ÐDUØ!(¨,Ð8Iõ	Kr;   Údepthc           
      ó–  — t         j                  rt        dt        |«      z   dz   «       t	        |j
                  t        «      �rí|j                  j                  «       �srt        dt        |j                  «      «      D �]N  }|j                  j                  |«      }	|	t        j                  u rœ|rA|j                  t        |j
                  t        j                   |¬«      | j"                  «       Œtt         j                  r1t        d| j%                  |j
                  j&                  «      z   «       | j)                  |||||||«       ŒÍ| j*                  j,                  |	   }
|j                  j/                  |«      }t        |
|j0                  ||j2                  ¬«      }|j4                  |_        | j7                  ||||||dz
  |«       �ŒQ y |r|j                  || j"                  «       y t         j                  r1t        d| j%                  |j
                  j&                  «      z   «       | j)                  |||||||«       y )Nzclosure(ú)r   ©r°   rØ   r±   zFALLING off rule )r°   rg   rØ   rÕ   rF   )r(   rJ   rL   rM   r´   r°   r   rØ   ÚisEmptyrÑ   rw   ÚgetReturnStater   ÚEMPTY_RETURN_STATEr¸   r   rX   r0   ÚgetRuleNamerË   Úclosure_r1   ÚstatesÚ	getParentrg   rÖ   rñ   r   )r8   r±   rI   rÁ   rþ   re   r  rÂ   rÓ   r°   ÚreturnStateÚ
newContextr¾   s                r:   r   z+ParserATNSimulator.closureCheckingStopStateI  sñ  € Ü×#Ò#Ü�*œs 6›{Ñ*¨SÑ0Ô1ä�f—l‘l¤MÕ2ð —>‘>×)Ñ)Õ+Ü˜q¤# f§n¡nÓ"5Ó6ó E�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¨&°'¸;ÐHYØ%,¨eÐ5FôHà Ø"&§(¡(§/¡/°%Ñ"8�KØ!'§¡×!9Ñ!9¸!Ó!<�JÜ!¨¸¿¹ÈZÐbh×bxÑbxÔy�Að 17×0NÑ0N�AÔ-Ø×1Ñ1°!°W¸kÐK\Ð^eÐglÐopÑgpð  sDö  Eð)Eð* Ùà—‘˜F D§O¡OÔ4Øô &×+Ò+ÜÐ-°×0@Ñ0@ÀÇÁ×AWÑAWÓ0XÑXÔYà�‰�f˜g {Ð4EÀwÐPUÐWhÕir;   c           
      ón  — |j                   }|j                  s|j                  || j                  «       d}	|j                  D �]o  }
|	rd}	| j                  |«      rŒ|xr t        |
t        «       }| j                  ||
||dk(  ||«      }|€ŒK|}t        |j                   t        «      rµ| j                  �J| j                  j                  r4|
j                  | j                  j                  j                  k(  rd|_        |xj                   dz  c_        ||v rŒ×|j                  |«       d|_        |dz  }t$        j&                  rUt)        dt+        |«      z   «       n=|
j,                  s||v r�Œ.|j                  |«       t        |
t.        «      r
|dk\  r|dz  }| j1                  |||||||«       �Œr y )NTFr   rF   zdips into outer ctx: )r°   rÇ   r¸   r0   r�   Ú'canDropLoopEntryEdgeInLeftRecursiveRuler´   r   ÚgetEpsilonTargetr   r/   rT   ÚoutermostPrecedenceReturnr\   rË   rÚ   rñ   ÚdipsIntoOuterContextr(   rJ   rL   rM   Ú	isEpsilonr   r   )r8   r±   rI   rÁ   rþ   re   r  rÂ   rÎ   Úfirstr‚   ÚcontinueCollectingr¾   ÚnewDepths                 r:   r
  zParserATNSimulator.closure_s  s–  € Ø�L‰Lˆà×'Ò'Ø�K‰K˜ §¡Ô0ð ˆØ—‘ó '	AˆAÙØ�Ø×?Ñ?ÀÔGØà!2Ò!Z¼:ÀaÔIYÓ;ZÐ7ZÐØ×%Ñ% f¨aÐ1CÀUÈaÁZÐQXÐZkÓlˆAØ‰}Ø �Ü˜vŸ|™|¬]Ô;ð —y‘yÐ,°·±×1HÒ1HØ×6Ñ6¸$¿)¹)×:QÑ:Q×:[Ñ:[Ò[Ø;?˜AÔ8Ø×-Ò-°Ñ2Õ-Ø˜KÑ'à Ø—O‘O AÔ&Ø37�GÔ0Ø ‘M�HÜ)×/Ò/ÜÐ5¼¸A»Ñ>Õ?àŸ;š;Ø Ñ+á$Ø#Ÿ™¨Ô*Ü! !¤^Ô4à# qš=Ø$¨™M˜Hà×-Ñ-¨a°¸+ÐGYÐ[bÐdlÐnö  AñO'	Ar;   c                 ó¢  — |j                   }|j                  t        j                  k7  s@|j                  r4|j
                  j                  «       s|j
                  j                  «       ryt        |j
                  «      }t        d|«      D ]O  }| j                  j                  |j
                  j                  |«         }|j                  |j                  k7  sŒO y |j                  d   j                  }|j                   j"                  }| j                  j                  |   }t        d|«      D �]  }|j
                  j                  |«      }	| j                  j                  |	   }t        |j                  «      dk7  s|j                  d   j$                  s y|j                  d   j                  }
|j                  t        j&                  k(  r|
|u rŒ¦||u rŒ«|
|u rŒ°|
j                  t        j&                  k(  rNt        |
j                  «      dk(  r6|
j                  d   j$                  r|
j                  d   j                  |u r�Œ y y)NFr   rF   T)r°   Ú	stateTyper   ÚSTAR_LOOP_ENTRYÚisPrecedenceDecisionrØ   r  rò   rw   rÑ   r1   r  r  rË   r�   rÀ   ÚendStaterÙ   r  Ú	BLOCK_END)r8   r±   rÎ   ÚnumCtxsrÓ   r  ÚdecisionStartStateÚblockEndStateNumÚblockEndStateÚreturnStateNumberÚreturnStateTargets              r:   r  z:ParserATNSimulator.canDropLoopEntryEdgeInLeftRecursiveRuleÿ  s  € à�L‰Lˆð �;‰;œ(×2Ñ2Ò2Ø×-Ò-Ø—>‘>×)Ñ)Ô+Ø—>‘>×.Ñ.Ô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ÐTUÑ?UØð
 ˜mÑ+Øð ! MÑ1Øð !×*Ñ*¬h×.@Ñ.@Ò@ÜÐ)×5Ñ5Ó6¸!Ò;Ø%×1Ñ1°!Ñ4×>Ò>Ø%×1Ñ1°!Ñ4×;Ñ;¸qÑ@Ùñ ðA 	ðD r;   rR   c                 óx   — | j                   �|dk\  r| j                   j                  |   S dt        |«      z   dz   S )Nr   z<rule ú>)r)   Ú	ruleNamesrM   )r8   rR   s     r:   r	  zParserATNSimulator.getRuleName@  s;   € Ø�;‰;Ð" u¨a¢xØ—;‘;×(Ñ(¨Ñ/Ð/àœc %›jÑ(¨3Ñ.Ð.r;   c                 ó&   — | j                  ||«      S r=   )ÚruleTransition©Úsimr±   r‚   rþ   Ú	inContextre   rÂ   s          r:   ú<lambda>zParserATNSimulator.<lambda>G  s   € Ø×Ñ˜6 1Ó%ð r;   c                 ó,   — | j                  |||||«      S r=   )ÚprecedenceTransitionr)  s          r:   r,  zParserATNSimulator.<lambda>I  s   € Ø× Ñ  ¨Ð,=¸yÈ'ÓRð r;   c                 ó,   — | j                  |||||«      S r=   )ÚpredTransitionr)  s          r:   r,  zParserATNSimulator.<lambda>K  s   € Ø×Ñ˜6 1Ð&7¸ÀGÓLð r;   c                 ó&   — | j                  ||«      S r=   )ÚactionTransitionr)  s          r:   r,  zParserATNSimulator.<lambda>M  s   € Ø×Ñ˜V QÓ'ð r;   c                 ó0   — t        |j                  |¬«      S rÅ   )r   rÀ   r)  s          r:   r,  zParserATNSimulator.<lambda>O  s   € Ü˜Ÿ™¨Ô0ð r;   c                 óz   — |r8|j                  t        j                  dd«      rt        |j                  |¬«      S d S ©Nr   rF   r¯   ©rá   r   r   r   rÀ   r)  s          r:   r,  zParserATNSimulator.<lambda>Q  ó7   € Ù4EÈ!Ï)É)ÔTY×T]ÑT]Ð_`ÐbcÔJdŒ	˜Ÿ™¨Ô0ð Øjnð r;   c                 óz   — |r8|j                  t        j                  dd«      rt        |j                  |¬«      S d S r5  r6  r)  s          r:   r,  zParserATNSimulator.<lambda>S  r7  r;   c                 óz   — |r8|j                  t        j                  dd«      rt        |j                  |¬«      S d S r5  r6  r)  s          r:   r,  zParserATNSimulator.<lambda>U  r7  r;   r+  c           	      óp   — | j                   j                  |j                  d «      }|€y  || ||||||«      S r=   )ÚepsilonTargetMethodsrÛ   ÚserializationType)r8   r±   r‚   rþ   r+  re   rÂ   rd   s           r:   r  z#ParserATNSimulator.getEpsilonTargetX  sA   € Ø×%Ñ%×)Ñ)¨!×*=Ñ*=¸tÓDˆØˆ9Øá�T˜6 1Ð&7¸ÀGÐM^Ó_Ð_r;   c                 óÄ   — t         j                  r:t        dt        |j                  «      z   dz   t        |j
                  «      z   «       t        |j                  |¬«      S )NzACTION edge rG   r¯   )r(   rJ   rL   rM   rË   ÚactionIndexr   rÀ   )r8   r±   r‚   s      r:   r2  z#ParserATNSimulator.actionTransition_  sE   € Ü×#Ò#Ü�.¤3 q§{¡{Ó#3Ñ3°cÑ9¼CÀÇÁÓ<NÑNÔOÜ˜qŸx™x°Ô7Ð7r;   Úptc                 óP  — t         j                  rnt        dt        |«      z   dz   t        |j                  «      z   dz   «       | j
                  �/t        dt        | j
                  j                  «       «      z   «       d }|rå|rã|r¤| j                  j                  }| j                  j                  | j                  «       |j                  «       j                  | j
                  | j                  «      }| j                  j                  |«       |rlt        |j                  |¬«      }nTt!        |j"                  |j                  «       «      }	t        |j                  |	|¬«      }nt        |j                  |¬«      }t         j                  rt        dt        |«      z   «       |S )NúPRED (collectPredicates=ú) z>=_p, ctx dependent=trueúcontext surrounding pred is r¯   ©r°   rÕ   r±   úconfig from pred transition=)r(   rJ   rL   rM   Ú
precedencer)   ÚgetRuleInvocationStackr,   rR   ra   r-   ÚgetPredicaterô   r.   r   rÀ   r   rÖ   ©
r8   r±   r?  rþ   r+  re   r¾   ÚcurrentPositionÚpredSucceedsÚ	newSemCtxs
             r:   r.  z'ParserATNSimulator.precedenceTransitiond  sD  € Ü×#Ò#ÜÐ,¬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                 óÞ  — t         j                  r�t        dt        |«      z   dz   t        |j                  «      z   dz   t        |j
                  «      z   dz   t        |j                  «      z   «       | j                  �/t        dt        | j                  j                  «       «      z   «       d }|rý|j                  r|j                  rå|rã|r¤| j                  j                  }| j                  j                  | j                  «       |j                  «       j                  | j                  | j                  «      }| j                  j                  |«       |rlt!        |j"                  |¬«      }nTt%        |j&                  |j                  «       «      }	t!        |j"                  |	|¬«      }nt!        |j"                  |¬«      }t         j                  rt        dt        |«      z   «       |S )	NrA  rB  rG   z, ctx dependent=rC  r¯   rD  rE  )r(   rJ   rL   rM   rË   Ú	predIndexÚisCtxDependentr)   rG  r,   rR   ra   r-   rH  rô   r.   r   rÀ   r   rÖ   rI  s
             r:   r0  z!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                 óR  — t         j                  rJt        d| j                  |j                  j
                  «      z   dz   t        |j                  «      z   «       |j                  }t        j                  |j                  |j                  «      }t        |j                  ||¬«      S )Nz
CALL rule z, ctx=r  )r(   rJ   rL   r	  rÀ   rË   rM   rØ   ÚfollowStater   ÚcreaterÙ   r   )r8   r±   r‚   r  r  s        r:   r(  z!ParserATNSimulator.ruleTransition   s|   € Ü×#Ò#Ü�, ×!1Ñ!1°!·(±(×2DÑ2DÓ!EÑEÈÑPÔSVÐW]×WeÑWeÓSfÑfÔgØ—m‘mˆÜ/×6Ñ6°v·~±~À{×G^ÑG^Ó_ˆ
Ü˜qŸx™x°ÀFÔLÐLr;   c                 óV   — t        j                  |«      }t        j                  |«      S r=   )r   r�   ÚgetAlts)r8   rI   Úaltsetss      r:   r‘   z%ParserATNSimulator.getConflictingAlts§  s#   € Ü ×9Ñ9¸'ÓBˆÜ×%Ñ% gÓ.Ð.r;   c                 óª   — d }|j                   t        j                  k7  r't        «       }|j	                  |j                   «       |S |j
                  }|S r=   )r’   r   rq   r¹   r¸   rt   )r8   rI   rt   s      r:   rž   z0ParserATNSimulator.getConflictingAltsOrUniqueAltÏ  sQ   € ØˆØ×Ñœs×5Ñ5Ò5Ü!›eˆOØ×Ñ × 1Ñ 1Ô2ð Ðð &×5Ñ5ˆOØÐr;   c                 ó  — |t         j                  k(  ry| j                  �c| j                  j                  �M|t	        | j                  j                  «      k  r+| j                  j                  |   dz   t        |«      z   dz   S t        |«      S )Nr   ú<r%  )r   r   r)   rZ   rw   rM   )r8   r‚   s     r:   r³   z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   — | j                  |j                  d«      «      S ©NrF   )r³   rk   )r8   r@   s     r:   rN   z#ParserATNSimulator.getLookaheadNameâ  s   € Ø× Ñ  §¡¨!£Ó-Ð-r;   Únvaec                 ó  — t        d«       |j                  «       D ]è  }d}t        |j                  j                  «      dkD  r‡|j                  j                  d   }t        |t        «      rd| j                  |j                  «      z   }n?t        |t        «      r/t        |t        «      }|rdnddz   t        |j                  «      z   }t        |j                  | j                  d«      d	z   |z   t        j                   ¬
«       Œê y )Nzdead end configs: zno edgesr   zAtom ú~Ú zSet TrG   )Úfile)rL   ÚgetDeadEndConfigsrw   r°   r�   r´   r!   r³   Úlabelr"   r#   rM   r¹   rY   r)   ÚsysÚstderr)r8   r[  r¾   r¿   r‚   Únegs         r:   ÚdumpDeadEndConfigsz%ParserATNSimulator.dumpDeadEndConfigsé  sÑ   € ÜÐ"Ô#Ø×'Ñ'Ó)ò 		PˆAØˆEÜ�1—7‘7×&Ñ&Ó'¨Ò)Ø—G‘G×'Ñ'¨Ñ*�Ü˜a¤Ô0Ø# T×%6Ñ%6°q·w±wÓ%?Ñ?‘EÜ ¤=Ô1Ü$ QÔ(8Ó9�CÙ$'™S¨R°Ñ7¼¸Q¿U¹U»ÑC�EÜ�!—*‘*˜TŸ[™[¨$Ó/°#Ñ5¸Ñ=ÄCÇJÁJÖOñ		Pr;   c                 ór   — t        | j                  ||j                  |«      |j                  d«      ||«      S rZ  )r&   r)   rÛ   rO   )r8   r@   rB   rI   ri   s        r:   ro   zParserATNSimulator.noViableAltö  s/   € Ü# D§K¡K°¸¿	¹	À*Ó8MÈuÏxÉxÐXYË{Ð\cÐeqÓrÐrr;   c                 ó¶   — t         j                  }|D ]C  }|t         j                  k(  r|j                  }Œ#|j                  |k7  sŒ3t         j                  c S  |S r=   )r   rq   rg   )r8   rI   rg   r¾   s       r:   rŽ   zParserATNSimulator.getUniqueAltù  sQ   € Ü×$Ñ$ˆØò 	.ˆAØ”c×,Ñ,Ò,Ø—e‘e‘Ø—‘˜“Ü×-Ñ-Ò-ð		.ð
 ˆ
r;   Úfrom_Útoc                 ó,  — t         j                  r;t        dt        |«      z   dz   t        |«      z   dz   | j	                  |«      z   «       |€y | j                  ||«      }|�|dk  s|| j                  j                  kD  r|S |j                  €"d g| j                  j                  dz   z  |_        ||j                  |dz   <   t         j                  rA| j                  €d n| j                  j                  }t        d|j                  |«      z   «       |S )NzEDGE z -> z upon r¥   r   rF   zDFA=
)r(   rJ   rL   rM   r³   r^   r1   râ   r‰   r)   rZ   rY   )r8   rc   rh  r‚   ri  Únamess         r:   r�   zParserATNSimulator.addDFAEdge  sò   € Ü×#Ò#Ü�'œC ›JÑ&¨Ñ/´#°b³'Ñ9¸HÑDÀt×GXÑGXÐYZÓG[Ñ[Ô\àˆ:Øà×Ñ˜c 2Ó&ˆØˆ=˜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                 óž  — || j                   u r|S |j                  j                  |d «      }|�|S t        |j                  «      |_        |j
                  j                  s6|j
                  j                  | «       |j
                  j                  d«       ||j                  |<   t        j                  rt        dt        |«      z   «       |S )NTzadding new DFA state: )rn   r  rÛ   rw   rÙ   rI   ÚreadonlyÚoptimizeConfigsÚsetReadonlyr(   rJ   rL   rM   )r8   rc   rƒ   Úexistings       r:   r^   zParserATNSimulator.addDFAState:  s    € Ø�—
‘
‰?ØˆHð —:‘:—>‘> ! TÓ*ˆØÐØˆOä˜CŸJ™J›ˆŒØ�y‰y×!Ò!Ø�I‰I×%Ñ% dÔ+Ø�I‰I×!Ñ! $Ô'Øˆ�
‰
�1‰Ü×#Ò#ÜÐ*¬S°«VÑ3Ô4Øˆr;   rt   r†   c                 óŠ  — t         j                  st         j                  r^t        dt	        |j
                  «      z   dz   t	        |«      z   dz   | j                  j                  «       j                  ||«      z   «       | j                  �9| j                  j                  «       j                  | j                  |||||«       y y )Nz%reportAttemptingFullContext decision=rG   ú, input=)r(   rJ   Úretry_debugrL   rM   rA   r)   ÚgetTokenStreamÚgetTextÚgetErrorListenerDispatchrz   )r8   rc   rt   rI   ri   r†   s         r:   rz   z.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[Ð]fÓ,gñhô ià�;‰;Ð"Ø�K‰K×0Ñ0Ó2×NÑNÈtÏ{É{Ð\_ÐakÐmvð  yHð  JQõ  Rð #r;   r}   c                 óŠ  — t         j                  st         j                  r^t        dt	        |j
                  «      z   dz   t	        |«      z   dz   | j                  j                  «       j                  ||«      z   «       | j                  �9| j                  j                  «       j                  | j                  |||||«       y y )Nz"reportContextSensitivity decision=rG   rr  )r(   rJ   rs  rL   rM   rA   r)   rt  ru  rv  rª   )r8   rc   r}   rI   ri   r†   s         r:   rª   z+ParserATNSimulator.reportContextSensitivityS  s°   € Ü×#Ò#Ô'9×'EÒ'EÜÐ6¼¸S¿\¹\Ó9JÑJÈSÑPÔSVÐW^ÓS_Ñ_Ø)ñ*Ø,0¯K©K×,FÑ,FÓ,H×,PÑ,PÐQ[Ð]fÓ,gñhô ià�;‰;Ð"Ø�K‰K×0Ñ0Ó2×KÑKÈDÏKÉKÐY\Ð^hÐjsÐuð  BIõ  Jð #r;   Úexactc           	      óx  — t         j                  st         j                  rTt        dt	        |«      z   dz   t	        |«      z   dz   | j
                  j                  «       j                  ||«      z   «       | j
                  �:| j
                  j                  «       j                  | j
                  ||||||«       y y )NzreportAmbiguity rG   rr  )
r(   rJ   rs  rL   rM   r)   rt  ru  rv  r~   )r8   rc   rƒ   ri   r†   rx  rã   rI   s           r:   r~   z"ParserATNSimulator.reportAmbiguity[  s­   € ä×#Ò#Ô'9×'EÒ'Eô" Ð$¤s¨9£~Ñ5¸Ñ;¼cÀ'»lÑJØ)ñ*Ø,0¯K©K×,FÑ,FÓ,H×,PÑ,PÐQ[Ð]fÓ,gñhô ià�;‰;Ð"Ø�K‰K×0Ñ0Ó2×BÑBÀ4Ç;Á;ÐPSÐU_ÐajÐlqÐs|ð  Fõ  Gð #r;   )RÚ__name__Ú
__module__Ú__qualname__Ú	__slots__rJ   rK   ry   rs  r
   r   rµ   r   r6   r?   r	   Úintr   rh   r   r$   r`   rl   rm   r   r•   r   r{   ÚboolrŒ   rº   r   r   r[   r]   r   r·   r¹   rŸ   r    rp   rí   rì   rv   r   r­   r   r
  r  r	  r²   r;  ÚRULEÚ
PRECEDENCEÚ	PREDICATEÚACTIONrÉ   ÚATOMÚRANGEÚSETr  r   r2  r   r.  r    r0  r   r(  r‘   rž   r³   rN   r&   re  ro   rŽ   r�   r^   rz   rª   r~   Ú__classcell__)r9   s   @r:   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r;   r(   )2rb  r^  r   r   r   r   r   ÚBufferedTokenStreamr	   r
   r   r   r   ÚUtilsr   Úatn.ATNr   Úatn.ATNConfigr   Úatn.ATNConfigSetr   Úatn.ATNSimulatorr   Úatn.ATNStater   r   r   r   Úatn.PredictionModer   Úatn.SemanticContextr   r   r   r   Úatn.Transitionr   r   r   r   r    r!   r"   r#   Údfa.DFAStater$   r%   Úerror.Errorsr&   r(   r>   r;   r:   ú<module>r”     sm   ðóT Ý ÷%ó %å -Ý Ý 1Ý %Ý Ý Ý Ý %Ý +Ý +ß UÓ UÝ /ß MÓ M÷I÷ Ió Iç 3Ý /ôpG˜õ pGr;   