+
     Gia  c                   sx    ^ RI t ^ RIt^ RIHt ]P
                  P                  4       t]! 4       t ! R R4      t	R# )    N)commandsc                   s^   a  ] tR t^	t o RtR tRR ltR tR tR t	R t
R tR	 tR
 tRtV tR# )Parserz9
Parser used for expanding strings containing functions.
c                s    Wn         R # N)_repository)selfZ
repository   &&D/usr/lib/python3.14/site-packages/tuned/profiles/functions/parser.py__init__ZParser.__init__   s        c                s\    ^ V n         Wn        \        V4      V n        . V n        RV n        R# )r    FN)_cnt_strlen_len_stack_escr   sr   r   _parse_initZParser._parse_init   s'    $))!f$)$+$)r	   c                sv    V P                   V P                  8  d   V P                  V P                   ,          # R #  )r
   r   r   )r   s   &r   
_curr_charZParser._curr_char   s)    !%TYY!6499	>B>r	   c                sV    V P                   V P                  V P                  V,            # r   )r   r
   )r   r   r   r   _curr_substrZParser._curr_substr   s     	499TYY-	..r	   c                sR    V P                   P                  WP                  34       R # r   )r   Zappendr
   )r   Zescr   r   	_push_posZParser._push_pos   s    ++c99%&r	   c                sF   V P                   R V V,           V P                   V^,           R  ,           V n         \        V P                   4      V n        V ;P                  \        V4      W!,
          ^,           ,
          ,          un        V P                  ^ 8  d
   ^ V n        R # R # r   )r   r   r   r
   )r   ZaZbr   s   &&&&r   _subZParser._sub!   so    iima$))AEF"33$)$))n$)))s1v##)	YY]49 r	   c                s   \         P                  ! R V P                  WP                   4      pV^ ,          R8w  d   R# V Uu. uF  p\	        V4      P                  RR4      NK   	  pp\         P                  ! RV^,          4      '       g&   \        P                  RV^,          ,          4       R#  V P                  P                  V^,          4      pTP                  TR,          4      p\        P                  R	RP                  TR
,          4      : RT: R24       Tf   R# T P                  YP                  T4       R# u upi   \         d(    \        P                  RT^,          ,          4        R# i ; i)z(?<!\\):z${fNz\:Z:z\w+$zinvalid function name '%s'zfunction '%s' not implemented:i   NNz${f::i   NNz} expands to: 'Z')reZsplitr   r
   ZstrZreplaceZmatchlogerrorr   Z	load_funcZImportErrorZexecuteZdebugZjoinr   )r   Z_fromZslZvZfr   s   &&    r   _process_funcZParser._process_func(   s   	xxTYYuYY78"Ue^	,./BqAuc"B"/	'2a5	!	!99)BqE12	
!!"Q%(1 ii2!))#((2b6*:A>?Y	))E99a  0 
 
99,r!u45	
s   $E2"E	 	.E;:E;c                s   V P                  V4       V P                  V P                  8  d   V P                  4       R 8X  dD    V P                  P                  4       pT^ ,          '       g   T P                  T^,          4       M1V P                  ^4      R8X  d   V P                  V P                  4       V P                  4       R8X  d	   RV n        MRV n        V ;P                  ^,          un        K  \        V P                  4      '       d   \        P                  RV,          4       V P                  #   \         d,    \        P                  RT,          4       T P                  u # i ; i)Z}z.invalid variable syntax, non pair '}' in: '%s'z${Z\TFz.invalid variable syntax, non pair '{' in: '%s')r   r
   r   r   r   ZpopZ
IndexErrorr   r   r   r   r   r   r   r   )r   r   Zsis   && r   _processZParser._process;   s   1		DII
oo3
++//
R
 a55	1!$NN499
oo4DIDI99>999=AB	  YY?!CDIIs   D8 83E.-E.c                sj    Ve   VR8X  d   V# \         P                  ! RRV P                  V4      4      # )Nr   z\\(\${f:.*})z\1)r   Zsubr   r   r   r   expandZParser.expandR   s.    Y!r'
8	a(8	99r	   )r
   r   r   r   r   r   Nr   )Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r   r   r   r   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r   	   s<      ?/'!&.: :r	   r   )
r   Z
tuned.logsZtunedZtuned.utils.commandsr   ZlogsZgetr   Zcmdr   ) r	   r   <module>r      s1    	  )jjnnjM: M:r	   