+
    Dfj                         R t ^ RIt^ RIHt ]! 4       t ! R R4      t ! R R4      tRP                  ]! RP                  ]P                  4      4      t
/ t]P                   F  t] F  t]]]&   K
  	  K  	  AR# )zGModule to parse ANSI escape sequences

Maintainer: Jean-Paul Calderone
N)Loggerc                      a  ] tR t^t o RtRt];QJ d    . R ] 4       F  NK  	  5M! R ] 4       4      t]! ]	! ]4      4      w  t
tttttttRtR tRtV tR# )	ColorTextzV
Represents an element of text along with the texts colors and
additional attributes.
c              #  @   "   T F  qP                  4       x  K  	  R # 5iN)upper).0xs   & 7/usr/lib/python3/dist-packages/twisted/conch/ui/ansi.py	<genexpr>ColorText.<genexpr>   s     26a		6s   c	                    WVuV n         V n        V n        W@n        WPn        W`n        Wpn        Wn        V P                  '       d&   V P                  V P                  uV n        V n        R # R # r   )textfgbgdisplaybold	underlineflashreverse)	selfr   r   r   r   r   r   r   r   s	   &&&&&&&&&r
   __init__ColorText.__init__)   sU    &*#	47DG	"
<<<#wwDGTW     )r   r   r   r   r   r   r   r   N)brgylmcw)BlackRedGreenYellowBlueMagentaCyanWhite)__name__
__module____qualname____firstlineno____doc__COLORStupleBOLD_COLORSrangelenBLACKREDGREENYELLOWBLUEMAGENTACYANWHITECOLOR_NAMESr   __static_attributes____classdictcell____classdict__s   @r
   r   r      s_      6F%262%%2622K<A#f+<N9E3vtWdE	K0 0r   r   c                      a  ] tR t^4t o RtRtRtRtRtRt	]]]]]	3t
R tR tR tR tR tR tR t]P&                  3R	 ltR
 tRtV tR# )
AnsiParserz
Parser class for ANSI codes.
c                    WuV n         V n        V P                   V P                  uV n        V n        Rw  V n        V n        V n        V n        ^V n        RV n	        R# )     NrD   rD   rD   rD   )
	defaultFG	defaultBG	currentFG	currentBGr   r   r   r   r   prepend)r   rG   rH   s   &&&r
   r   AnsiParser.__init__J   sL    )2&)-&>H;	4:t~t|r   c                    Rp^p^ p\        V4      pWE8  db   V^ 8X  d   W,          \        9   d   ^pM;V'       d4   VP                  ! RV4      pVR8X  d   W!VR ,           # W!WF ,           pTp^ pV^,           pKg  V# )z6
Remove all ANSI color escapes from the given string.
rE   N)r3   _setsfind)r   stringresultshowiLns   &&     r
   stripEscapesAnsiParser.stripEscapesQ   s     KeqyVY%/KK*7!12J..#Qk1FADAAr   c                    R # r    )r   colorstrs   &&r
   writeStringAnsiParser.writeStringg       r   c                   V P                   '       d   V P                   V,           pRV n         VP                  R4      p\        V4      ^8X  d*   V P                  V P	                  V^ ,          4      4       R# V P                  V P	                  V^ ,          4      4       VR,           EF  p\        V4      p^ pRpWT8  d/   W5,          \
        P                  R,           9  d   MV^,          pK4  V'       g   RV n          R# V^ ,          R8w  d,   V P                  V P	                  W5^,           R 4      4       K  VR,          pV^,          pWT^,
          8X  d   RV n          R# \        P                  W5,          R4      pVf   K  V\        P                  8X  dJ   V P                  VRV^,            4       W5^,           R pV P                  V P	                  V4      4       EK;  V\        P                  8X  dK   VRV^,            W5^,           R r7V P                  V4       V P                  V P	                  V4      4       EK  V\        P                  8X  dK   VRV^,            W5^,           R r8V P                  V4       V P                  V P	                  V4      4       EK  V\        P                   8X  d/   W5^,           R pV P                  V P	                  V4      4       EK<  WT8X  d   RV,           V n         EKS  \"        P%                  RW5,          R	7       W5^,           R pV P                  V P	                  V4      4       EK  	  R# )
z;
Turn a string input into a list of L{ColorText} elements.
rE   rN   :   NNNz[;?[z[z+Unhandled ANSI control type: {control_type})control_type)rK   splitr3   r]   
formatTextrR   digits_setmapgetrB   	COLOR_SET
parseColor
CURSOR_SETparseCursor	ERASE_SET
parseEraseMODE_SET_logwarn)	r   strpartssrV   rU   typecursorerases	   &&       r
   parseStringAnsiParser.parseStringj   s   
 <<<,,$CDL		&!u:?T__U1X67T__U1X672YYFet6==5#88FA#)DLQ43;$$T__Q1uwZ%@A"AFAA:#*DL{{14.<:///OOAgAJ/a%'
A$$T__Q%78Z222 !'AE
A!egJA$$V,$$T__Q%78Z111 1q5z1UW:1OOE*$$T__Q%78Z000a%'
A$$T__Q%78V#*Q;DLIIETUTX   a%'
A$$T__Q%78_ r   c                   VRR pV'       g   Rp \        \        VP                  R4      4      pT EF  pT^ 8X  dH   T P                  T P                  uT n        T n	        R	w  T n
        T n        T n        T n        ^T n        KR  T^8X  d
   ^T n
        Kb  ^Tu;8:  d   ^%8:  d   M MT^,
          T n        K  ^(Tu;8:  d   ^/8:  d   M MT^(,
          T n	        K  T^'8X  d   T P                  T n        K  T^18X  d   T P                  T n	        K  T^8X  d
   ^T n        K  T^8X  d
   ^T n        K  T^8X  d   ^T n        EK  T^8X  d   ^ T n        EK  T^8X  d   ^ T n
        EK-  T^8X  d   ^ T n        EK>  T^8X  d   ^ T n        EKO  T^8X  d   ^ T n        EK`  T^8X  d   ^T n        EKq  \        P                  RTR7       EK  	  R#   \         d?    \        P                  RTR7       T P                  T P                  uT n        T n	         R# i ; i)
z%
Handle a single ANSI color sequence
N0;z)Invalid ANSI color sequence: {sequence!r})sequencez*Unrecognised ANSI color command: {command})commandrO   rF   )mapintrd   
ValueErrorrp   errorrG   rH   rI   rJ   r   r   r   r   r   blink)r   rr   rs   r	   s   &&  r
   rj   AnsiParser.parseColor   s   
 #2hC	SYYs^,E AAv15.FPC	4:t~t| a	qB!"RqB!"Rb!%b!%a!"a
a a b	b!"b
b b 

GQR
SE   	JJBSJQ-1^^T^^*DNDN	s   G AH
	H
c                    R # r   r[   )r   rv   s   &&r
   rl   AnsiParser.parseCursor   r_   r   c                    R # r   r[   )r   rw   s   &&r
   rn   AnsiParser.parseErase   r_   r   c                    V'       d   \         P                  V,          # V P                  ;'       d    W1,          ;'       g    \         P                  V,          # r   )r   r/   r   )r   valuemodeBOLDs   &&&&r
   	pickColorAnsiParser.pickColor   s=    ##E**99,,GG	0@0@0GGr   c           
         \        VV P                  V P                  ^ 4      V P                  V P                  ^4      V P                  V P
                  V P                  V P                  V P                  4      # )rD   )	r   r   rI   rJ   r   r   r   r   r   )r   r   s   &&r
   re   AnsiParser.formatText   sY    NN4>>1-NN4>>1-LLIINNJJLL	
 		
r   )r   r   rJ   rI   rH   rG   r   r   rK   r   r   N)HfABCDRrt   udG)JKP)hr   )p)r   )r*   r+   r,   r-   r.   rk   rm   ro   
ASSIGN_SETri   SETSr   rX   r]   rx   rj   rl   rn   r   r1   r   re   r=   r>   r?   s   @r
   rB   rB   4   s     
 IJ  I H J I	8ZCD,=9~3Tj +4*?*? H

 

r   rB   rE   )r.   rR   twisted.loggerr   rp   r   rB   joinr   r   rP   rg   rt   r   r[   r   r
   <module>r      s}   

  "x0 0D@
 @
F 	BGGZ__-.
	A
  
 r   