+
     [;i  c                   s     ! R  R] 4      tR# )c                   sp   a  ] tR t^t o ]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t	Rt
V tR# )FilenameCleanerc                s0   \         P                  V 4      p  V P                  R 4      pV RV pW^,           R pRV9   d+   \         P                  V4      p\         P	                  V4      pVR ,           V,           #   \
         d     T # \         d     T # i ; i)Z/N.)r    _strip_abnormalitiesrindex_strip_around_so_delimited_dots_strip_after_dash
IndexError
ValueError)filenameZslashZdirnamebasename   &   E/usr/lib/python3.14/site-packages/tracer/resources/FilenameCleaner.pystripZFilenameCleaner.strip   s    11(;(??35fu7Qwx 8	Xo>>xHH00:H
C-(
""	T	/ 
T	/ s   A!A9 9BBBBc                s    V R V P                  R4       p V P                  R4      '       d   V ^ R p RV 9   d   V ^ V P                  R4       p RV 9   d   V ^ V P                  R4       p V #   \         d     Lai ; i)NZ z#newZ;z.#prelink#.i)indexr   Zendswithr   )r   s   &r   r   Z$FilenameCleaner._strip_abnormalities/   s     /HNN3/0x
 vqn8 	H_q,-8 hq788	/# 
Ts   A) )A76A7c                s    V P                  R 4      pV^ ,          p \        V4      ^8  d
   V R ,          p V P                  R4      pV P                  R4      pV RV WR ,           p V #   \         d     T # \
         d     T # i ; i)z.sor   N)splitZlenr   r   r   r   )r	   r   Zfirst_dot_iZ
last_dot_ir
   r   r   Z/FilenameCleaner._strip_around_so_delimited_dotsF   s    
>>% 5Ah8	%j1nH$;$:|$x'<<8 
/ 
T	/ 
T	/ s   A#A' 'B5B>BBc                s     V P                  R 4      pV P                  RV4      p\        P                  W^,           V 4      '       d   V RV WR ,           p V #   \         d     T # \
         d     T # i ; i)Z-r   N)r   r   r    _is_versionr   r   )r	   ZdashZdots   &  r   r   Z!FilenameCleaner._strip_after_dashU   s    
//#
4	T	"3!!(6#"677$/H 
/ 
T	/ 
T	/ s   AA A5'A50A54A5c                sX    V  F#  pVP                  4       '       d
   VR8X  g   K"   R# 	  R# )z6
Returns True if string contains only digits and dots
r   FT)Zisdigit)ZstringZchars   & r   r   ZFilenameCleaner._is_versiona   s'    
 d<<>>dck  
     N)Z__name__Z
__module__Z__qualname__Z__firstlineno__Zstaticmethodr   r   r   r   r   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r    r       sg         ,   	 	  r   r    N)Zobjectr    r   r   r   <module>r      s   8Mf Mr   