a
    d                     @   sl   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 dZG dd deZdZG d	d
 d
eZdS )    )StringIO)PredictionContext)ATNStateDecisionState)LexerActionExecutor)SemanticContextNc                   @   sP   e Zd ZdZdeeeeedddZ	dd Z
dd	 Zd
d Zdd Zdd ZdS )	ATNConfig)statealtcontextsemanticContextreachesIntoOuterContextprecedenceFilterSuppressedNr	   r
   r   semanticconfigc                 C   s   |d ur@|d u r|j }|d u r$|j}|d u r2|j}|d u r@|j}|d u rNtj}|| _ || _|| _|| _|d u rrdn|j| _|d u rdn|j| _d S )Nr   F)r	   r
   r   r   r   NONEr   r   )selfr	   r
   r   r   r    r   ]/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/antlr4/atn/ATNConfig.py__init__   s"    
zATNConfig.__init__c                 C   sj   | |u rdS t |tsdS | jj|jjkod| j|jkod| j|ju sN| j|jkod| j|jkod| j|jkS d S NTF)
isinstancer   r	   stateNumberr
   r   r   r   r   otherr   r   r   __eq__B   s    



zATNConfig.__eq__c                 C   s   t | jj| j| j| jfS N)hashr	   r   r
   r   r   r   r   r   r   __hash__N   s    zATNConfig.__hash__c                 C   s   t | jj| jt | jfS r   )r   r	   r   r
   r   r   r   r   r   hashCodeForConfigSetQ   s    zATNConfig.hashCodeForConfigSetc                 C   sF   | |u rdS t |tsdS | jj|jjko@| j|jko@| j|jkS d S r   )r   r   r	   r   r
   r   r   r   r   r   equalsForConfigSetT   s    


zATNConfig.equalsForConfigSetc                 C   s   t  }|d |t| j |d |t| j | jd urj|d |t| j |d | jd ur| jtjur|d |t| j | j	dkr|d |t| j	 |d |
 W  d    S 1 s0    Y  d S )N(,z,[]r   z,up=))r   writestrr	   r
   r   r   r   r   r   getvalue)r   bufr   r   r   __str__^   s"    








zATNConfig.__str__)NNNNN)__name__
__module____qualname__	__slots__r   intr   r   r   r   r   r    r!   r"   r+   r   r   r   r   r      s   %
r   c                       sr   e Zd ZdZddejddfeeeee	e
d fddZdd Z fdd	Zd
d Zdd Ze
edddZ  ZS )LexerATNConfig)lexerActionExecutorpassedThroughNonGreedyDecisionN)r	   r
   r   r   r2   r   c                    sP   t  j|||||d |d ur,|d u r,|j}|| _|d u r>dn
| ||| _d S )Nr   F)superr   r2   checkNonGreedyDecisionr3   )r   r	   r
   r   r   r2   r   	__class__r   r   r   w   s    zLexerATNConfig.__init__c                 C   s"   t | jj| j| j| j| j| jfS r   )r   r	   r   r
   r   r   r3   r2   r   r   r   r   r       s    zLexerATNConfig.__hash__c                    sF   | |u rdS t |tsdS | j|jkr*dS | j|jks:dS t |S r   )r   r1   r3   r2   r4   r   r   r6   r   r   r      s    
zLexerATNConfig.__eq__c                 C   s   t | S r   )r   r   r   r   r   r!      s    z#LexerATNConfig.hashCodeForConfigSetc                 C   s   | |kS r   r   r   r   r   r   r"      s    z!LexerATNConfig.equalsForConfigSet)sourcetargetc                 C   s   |j pt|to|jS r   )r3   r   r   Z	nonGreedy)r   r8   r9   r   r   r   r5      s    z%LexerATNConfig.checkNonGreedyDecision)r,   r-   r.   r/   r   r   r   r0   r   r   r1   r   r    r   r!   r"   r5   __classcell__r   r   r6   r   r1   t   s   

r1   )ior   Zantlr4.PredictionContextr   Zantlr4.atn.ATNStater   r   Zantlr4.atn.LexerActionExecutorr   Zantlr4.atn.SemanticContextr   r   objectr1   r   r   r   r   <module>   s   [