
    <iM                     6    S SK Jr  S SKJr  Sr " S S\5      rg)    )StringIO)TokenNc                       \ rS rSrSrS rS rS rS\4S jr	S\
4S jrS	\4S
 jrS\4S jrS rS rS rS rS rS\S\4S jrS\S\S\4S jrSrg)IntervalSet   	intervalsreadonlyc                      S U l         SU l        g )NFr   selfs    L/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/IntervalSet.py__init__IntervalSet.__init__   s        c              #   h   #    U R                   b!  U R                    H  nU H  nUv   M	     M     g g 7fN)r	   )r   ics      r   __iter__IntervalSet.__iter__   s1     >>%^^AG  $ &s   02c                 T    SnU  H  nX!:X  a  Us  $ US-  nM     [         R                  $ Nr      )r   INVALID_TYPE)r   itemr   ks       r   __getitem__IntervalSet.__getitem__   s2    AwQ	 
 !!!r   vc                 >    U R                  [        XS-   5      5        g Nr   )addRangerange)r   r    s     r   addOneIntervalSet.addOne#   s    eAsm$r   c                    U R                   c+  [        5       U l         U R                   R                  U5        g SnU R                    GH  nUR                  UR                  :  a  U R                   R                  X!5          g UR                  UR                  :X  a/  [        UR                  UR                  5      U R                   U'     g UR                  UR                  ::  ah  [        [        UR                  UR                  5      [        UR                  UR                  5      5      U R                   U'   U R                  U5          g US-  nGM     U R                   R                  U5        g r   )
r	   listappendstopstartinsertr$   minmaxreduce)r   r    r   r   s       r   r#   IntervalSet.addRange&   s    >>!!VDNNN!!!$ A^^66!''>NN))!/VVQWW_(-aggqvv(>DNN1%WWaff_(-c!''!''.BCqvvDV(WDNN1%KKNQ $  NN!!!$r   otherc                 h    UR                   b$  UR                    H  nU R                  U5        M     U $ r   )r	   r#   )r   r1   r   s      r   addSetIntervalSet.addSet?   s+    ??&__a  %r   r   c                    U[        U R                  5      S-
  :  a  U R                  U   nU R                  US-      nUR                  UR                  :  a0  U R                  R                  US-   5        U R	                  U5        g UR                  UR
                  :  aL  [        UR
                  UR                  5      U R                  U'   U R                  R                  US-   5        g g g r"   )lenr	   r*   popr/   r+   r$   )r   r   lrs       r   r/   IntervalSet.reduceE   s    S ""q!Aqs#Avv""1Q3'A177"$)!''166$:q!""1Q3' # #r   c                     [        5       nUR                  [        XS-   5      5        U R                   H  nUR	                  U5        M     U$ r"   )r   r#   r$   r	   removeRange)r   r+   r*   resultr   s        r   
complementIntervalSet.complementR   s?    eF+,Aq!  r   c                 ^   ^ U R                   c  g[        U4S jU R                    5       5      $ )NFc              3   .   >#    U  H
  nTU;   v   M     g 7fr    ).0r   r   s     r   	<genexpr>+IntervalSet.__contains__.<locals>.<genexpr>]   s     9.Qtqy.s   )r	   any)r   r   s    `r   __contains__IntervalSet.__contains__Y   s%    >>!9$..999r   c                 :    [        S U R                   5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr   )r6   )rC   r   s     r   rD   &IntervalSet.__len__.<locals>.<genexpr>`   s     2>a3q66>s   )sumr	   r   s    r   __len__IntervalSet.__len___   s    24>>222r   c                    UR                   UR                  S-
  :X  a  U R                  UR                   5        g U R                  Gb  SnU R                   GH  nUR                  UR                   ::  a    g UR                   UR                   :  a  UR                  UR                  :  aj  [	        UR                   UR                   5      U R                  U'   [	        UR                  UR                  5      nU R                  R                  X$5          g UR                   UR                   ::  a;  UR                  UR                  :  a!  U R                  R                  U5        US-  nOUR                   UR                  :  a.  [	        UR                   UR                   5      U R                  U'   OGUR                  UR                  :  a-  [	        UR                  UR                  5      U R                  U'   US-  nGM     g g )Nr   r   )r+   r*   	removeOner	   r$   r,   r7   r   r    r   r   xs        r   r<   IntervalSet.removeRangeb   sW   77AFF1HNN177#^^'A^^66177?WWQWW_(-aggqww(?DNN1%affaff-ANN))!/WWagg%!&&!&&.NN&&q)FAWWQVV^(-aggqww(?DNN1%VVAFF](-affaff(=DNN1%Q) $ (r   c                    U R                   Gb\  SnU R                    GHH  nXR                  :  a    g XR                  :X  a/  XR                  S-
  :X  a  U R                   R                  U5          g XR                  :X  a2  [	        UR                  S-   UR                  5      U R                   U'     g XR                  S-
  :X  a2  [	        UR                  UR                  S-
  5      U R                   U'     g XR                  S-
  :  aY  [	        UR                  U5      n[	        US-   UR                  5      U R                   U'   U R                   R                  X$5          g US-  nGMK     g g r   )r	   r+   r*   r7   r$   r,   rQ   s        r   rP   IntervalSet.removeOne}   s   >>%A^^WW9ZAvvaxKNN&&q)Z(-aggai(@DNN1%q[(-aggqvvax(@DNN1%vvaxZaggq)A(-a!eQVV(<DNN1%NN))!/Q- $ &r   literalNamessymbolicNamesc           
         U R                   c  g[        5        n[        U 5      S:  a  UR                  S5        SnU R                    HG  nU H>  nU(       d  UR                  S5        UR                  U R	                  XU5      5        SnM@     MI     [        U 5      S:  a  UR                  S5        UR                  5       sS S S 5        $ ! , (       d  f       g = f)Nz{}r   {Tz, F})r	   r   r6   writeelementNamegetvalue)r   rV   rW   buffirstr   js          r   toStringIntervalSet.toString   s    >>!Z34y{		#E^^A 		$IId..|ANO!E	  $ 4y{		#<<> ZZs   B)C
Cac                     U[         R                  :X  a  gU[         R                  :X  a  gU[        U5      :  a  X   S:w  a  X   $ U[        U5      :  a  X#   $ g)Nz<EOF>z	<EPSILON>z	<INVALID>z	<UNKNOWN>)r   EOFEPSILONr6   )r   rV   rW   rc   s       r   r\   IntervalSet.elementName   sV    eii<\""|+'E#&]##$''r   N)__name__
__module____qualname____firstlineno__	__slots__r   r   r   intr%   r$   r#   r   r3   r/   r>   rG   rM   r<   rP   r(   ra   r\   __static_attributes__rB   r   r   r   r      s    )I"%s %% %2; (s (:368"D " ""
t 
4 
3 
r   r   )ior   antlr4.Tokenr   r   objectrB   r   r   <module>rr      s"      g& gr   