+
        j                        ^ RI t ^ RIt]P                  ^ ,          ^8H  t]'       d   ]t]tM]t]t ! R R4      t	R t
RR ltR tR t ! R R	4      t]P                  R8  d   R
 tM^ RIHt R t]R8X  d]   ^ RIt]	! ]P(                  RR7      t]P-                  R4       ]! R4       F%  t]P3                  4        ]P4                  ! R4       K'  	  R# R# )    Nc                   >   a  ] tR t^!t o RR ltRR ltRR ltRtV tR# )	ConsoleProgressBarc                T    ^ V n         ^ V n        W n        W0n        Wn        RV n        R# )r   FN)blockscurrentsteps	indicatoroutdone)selfr
   r   r	   s   &&&&2/usr/lib/python3.14/site-packages/sepolgen/util.py__init__ConsoleProgressBar.__init__"   s&    
"	    Nc                    R V n         V'       d#   V P                  P                  RV,          4       V P                  P                  R4       R# )Fz
%s:
z3%--10---20---30---40---50---60---70---80---90--100
N)r   r
   write)r   messages   &&r   startConsoleProgressBar.start*   s2    	HHNN9w./MNr   c                Z   V ;P                   V,          un         V P                  p\        \        V P                   \	        V P
                  4      ,          ^d,          4      ^,          4      V n        V P                  ^28  d   ^2V n        V P                  V,
          pV P                  P                  V P                  V,          4       V P                  P                  4        V P                  ^28X  d9   V P                  '       g%   RV n
        V P                  P                  R4       R# R# R# )d   T
N)r   r   introundfloatr   r
   r   r	   flushr   )r   noldnews   &&  r   stepConsoleProgressBar.step0   s    kk%uTZZ/@ @3 FG!KL;;DKkkCt~~+,;;"TYYYDIHHNN4  &/r   )r   r   r   r	   r
   r   )r   #N)   )	__name__
__module____qualname____firstlineno__r   r   r    __static_attributes____classdictcell____classdict__s   @r   r   r   !   s     O! !r   r   c                 ,    . pVP                  V 4       V# r#   )extend)sls   & r   set_to_listr1   B   s    
AHHQKHr   c                    \        V 4      '       g   \        R4      hV'       d%   \        V 4      pVP                  4        V^ ,          # V  F  pVu # 	  R# )at  
Return the first element of a set.

It sometimes useful to return the first element from a set but,
because sets are not indexable, this is rather hard. This function
will return the first element from a set. If sorted is True, then
the set will first be sorted (making this an expensive operation).
Otherwise a random element will be returned (as sets are not ordered).
zempty containerN)len
IndexErrorr1   sort)r/   sortedr0   xs   &&  r   firstr8   G   sF     q66*++N	tAH r   c                    \         P                  ! 4       p V P                  V4      pV#   \         d    T P                  R4      p T# i ; i)z/Encode given text via preferred system encodingutf-8)localegetpreferredencodingencodeUnicodeError)textencodingencoded_texts   &  r   encode_inputrB   \   T     **,H,{{8,   , {{7+,   * A
	A
c                    \         P                  ! 4       p V P                  V4      pV#   \         d    T P                  R4      p T# i ; i)z/Decode given text via preferred system encodingr:   )r;   r<   decoder>   )r?   r@   decoded_texts   &  r   decode_inputrH   i   rC   rD   c                   N   a  ] tR t^vt o RtR tR tR tR tR t	R t
R tR	tV tR
# )
ComparisonzClass used when implementing rich comparison.

Inherit from this class if you want to have a rich
comparison within the class, afterwards implement
_compare function within your class.c                    \         # r#   )NotImplemented)r   othermethods   &&&r   _compareComparison._compare}   s    r   c                (    V P                  VR  4      # )c                 
    W8H  # r#    abs   &&r   <lambda>#Comparison.__eq__.<locals>.<lambda>       r   rO   r   rM   s   &&r   __eq__Comparison.__eq__       }}U$788r   c                (    V P                  VR  4      # )c                 
    W8  # r#   rS   rT   s   &&r   rW   #Comparison.__lt__.<locals>.<lambda>       r   rZ   r[   s   &&r   __lt__Comparison.__lt__       }}U$677r   c                (    V P                  VR  4      # )c                 
    W8*  # r#   rS   rT   s   &&r   rW   #Comparison.__le__.<locals>.<lambda>   rY   r   rZ   r[   s   &&r   __le__Comparison.__le__   r^   r   c                (    V P                  VR  4      # )c                 
    W8  # r#   rS   rT   s   &&r   rW   #Comparison.__ge__.<locals>.<lambda>   rY   r   rZ   r[   s   &&r   __ge__Comparison.__ge__   r^   r   c                (    V P                  VR  4      # )c                 
    W8  # r#   rS   rT   s   &&r   rW   #Comparison.__gt__.<locals>.<lambda>   rb   r   rZ   r[   s   &&r   __gt__Comparison.__gt__   re   r   c                (    V P                  VR  4      # )c                 
    W8g  # r#   rS   rT   s   &&r   rW   #Comparison.__ne__.<locals>.<lambda>   rY   r   rZ   r[   s   &&r   __ne__Comparison.__ne__   r^   r   rS   N)r%   r&   r'   r(   __doc__rO   r\   rc   ri   rn   rs   rx   r)   r*   r+   s   @r   rJ   rJ   v   s2     ,989989 9r   rJ   c                "   a   ! V 3R lR4      pV# )z,Convert a cmp= function into a key= functionc                   p   <a  ] tR t^t o R tV3R ltV3R ltV3R ltV3R ltV3R lt	V3R lt
RtV tR	# )
zcmp_to_key.<locals>.Kc                    Wn         R # r#   obj)r   r   argss   &&*r   r   cmp_to_key.<locals>.K.__init__   s    r   c                D   < S! V P                   VP                   4      ^ 8  # r   r~   r   rM   mycmps   &&r   rc   cmp_to_key.<locals>.K.__lt__       TXXuyy1A55r   c                D   < S! V P                   VP                   4      ^ 8  # r   r~   r   s   &&r   rs   cmp_to_key.<locals>.K.__gt__   r   r   c                D   < S! V P                   VP                   4      ^ 8H  # r   r~   r   s   &&r   r\   cmp_to_key.<locals>.K.__eq__       TXXuyy1Q66r   c                D   < S! V P                   VP                   4      ^ 8*  # r   r~   r   s   &&r   ri   cmp_to_key.<locals>.K.__le__   r   r   c                D   < S! V P                   VP                   4      ^ 8  # r   r~   r   s   &&r   rn   cmp_to_key.<locals>.K.__ge__   r   r   c                D   < S! V P                   VP                   4      ^ 8g  # r   r~   r   s   &&r   rx   cmp_to_key.<locals>.K.__ne__   r   r   r~   N)r%   r&   r'   r(   r   rc   rs   r\   ri   rn   rx   r)   r*   )r,   r   s   @r   Kcmp_to_key.<locals>.K   s-     667777 7r   r   rS   )r   r   s   f r   
cmp_to_keyr      s    	7 	7 r   )r   c                     W8  W8  ,
          # r#   rS   )r8   seconds   &&r   cmpr      s    Nv~..r   __main__i  )r   zcomputing pigMbP?)F)      )r;   sysversion_infoPY3bytes
bytes_typestrstring_typeunicoder   r1   r8   rB   rH   rJ   r   	functoolsr   r%   timestdoutpr   rangeir    sleeprS   r   r   <module>r      s   &  
 
qQJKJK! !B
*9 98 e& %/ z3::S1AGGN3Z	

5 	 r   