
    vKgV-                        S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJrJrJrJr  S SKJrJrJrJrJrJr  S SKJr  S SKJr  S S	KJ r   S S
K!J"r"  S SK#J$r$J%r%  S SK&J'r'  S SK(J)r)  S SK*J+r+  \RX                  " 5       r-\%" S5      r. " S S\/5      r0S\\1   S\1S\24S jr3\ Rh                  S*S\5S\S   4S jj5       r6S\54S jr7 " S S\Rp                  5      r9\ " S S5      5       r: " S S\5      r; " S  S!\Rx                  Rz                  5      r> " S" S#\5      r? " S$ S%\5      r@S&\5S'\2S(\\A   S\54S) jrBg)+    N)	dataclass)TextIOWrapper)Filter)AnyClassVar	GeneratorListOptionalTextIOType)ConsoleConsoleOptionsConsoleRenderableRenderableTypeRenderResultRichCast)NullHighlighter)RichHandler)Segment)Style)VERBOSE	getLogger)WINDOWS)DEPRECATION_MSG_PREFIX)
ensure_dirzpip.subprocessorc                       \ rS rSrSrSrg)BrokenStdoutLoggingError#   zG
Raised if BrokenPipeError occurs for the stdout stream while logging.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       [/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/pip/_internal/utils/logging.pyr   r   #   s    r&   r   	exc_classexcreturnc                     U [         L a  g[        (       d  g[        U[        5      =(       a-    UR                  [        R
                  [        R                  4;   $ )NTF)BrokenPipeErrorr   
isinstanceOSErrorerrnoEINVALEPIPE)r(   r)   s     r'   _is_broken_pipe_errorr2   )   s?    O#
 7c7#P		ellEKK5P(PPr&   num)NNNc              #      #    [        5       [        l        [        =R                  U -  sl         Sv   [        =R                  U -  sl        g! [        =R                  U -  sl        f = f7f)zj
A context manager which will cause the log output to be indented for any
log messages emitted inside it.
N)get_indentation
_log_stateindentation)r3   s    r'   
indent_logr8   6   sM      -.Jc!&#%
#%s   -A,A A,A))A,c                  $    [        [        SS5      $ )Nr7   r   )getattrr6   r   r&   r'   r5   r5   E   s    :}a00r&   c            	          ^  \ rS rSrSrSS.S\S\S\SS	4U 4S
 jjjrS\S\	S\4S jr
S\R                  S\4U 4S jjrSrU =r$ )IndentingFormatterI   z%Y-%m-%dT%H:%M:%SF)add_timestampargsr>   kwargsr*   Nc                2   > Xl         [        TU ]  " U0 UD6  g)z
A logging.Formatter that obeys the indent_log() context manager.

:param add_timestamp: A bool indicating output lines should be prefixed
    with their record's timestamp.
N)r>   super__init__)selfr>   r?   r@   	__class__s       r'   rC   IndentingFormatter.__init__L   s     +$)&)r&   	formattedlevelnoc                     U[         R                  :  a  gUR                  [        5      (       a  gU[         R                  :  a  gg)z^
Return the start of the formatted log message (not counting the
prefix to add to each line).
 z	WARNING: zERROR: )loggingWARNING
startswithr   ERROR)rD   rG   rH   s      r'   get_message_start$IndentingFormatter.get_message_start[   s<    
 W__$ 677 W]]"r&   recordc                 @  > [         TU ]  U5      nU R                  X!R                  5      nX2-   nSnU R                  (       a  U R                  U5       S3nUS[        5       -  -  nSR                  UR                  S5       Vs/ sH  oTU-   PM	     sn5      nU$ s  snf )zn
Calls the standard formatter, but will indent all of the log message
lines by our current indentation level.
rJ    T)	rB   formatrO   rH   r>   
formatTimer5   join
splitlines)rD   rQ   rG   message_startprefixlinerE   s         r'   rT   IndentingFormatter.formatk   s    
 GN6*	..y..I!-	/02F#)))GGy7K7KD7QR7Qtd]7QRS	 Ss   B)r    r!   r"   r#   default_time_formatr   boolrC   strintrO   rK   	LogRecordrT   r%   __classcell__rE   s   @r'   r<   r<   I   sv    -
 $** * 	*
 
* *3    W.. 3  r&   r<   c                   @    \ rS rSr% \\S'   \\S'   S\S\S\	4S jr
Srg	)
IndentedRenderable|   
renderableindentconsoleoptionsr*   c              #      #    UR                  U R                  U5      n[        R                  " U5      nU H4  n[        SU R                  -  5      v   U S h  vN   [        S5      v   M6     g  N7f)NrS   
)renderrf   r   split_linesrg   )rD   rh   ri   segmentslinesrZ   s         r'   __rich_console__#IndentedRenderable.__rich_console__   s]      >>$//7;##H-D#+,,OO$- s   AA2A0A2r   N)r    r!   r"   r#   r   __annotations__r_   r   r   r   rp   r%   r   r&   r'   rd   rd   |   s*    K  )7 	 r&   rd   c                      ^  \ rS rSr% / r\\\\         \	S'   S\\
   S\SS4U 4S jjrS\R                  SS4S	 jrS\R                  SS4U 4S
 jjrSrU =r$ )RichPipStreamHandler   KEYWORDSstreamno_colorr*   Nc                 H   > [         TU ]  [        XSS9SSS[        5       S9  g )NT)filerx   	soft_wrapF)rh   	show_time
show_level	show_pathhighlighter)rB   rC   r   r   )rD   rw   rx   rE   s      r'   rC   RichPipStreamHandler.__init__   s.    dK') 	 	
r&   rQ   c                 |   S n[        USS5      (       al  [        UR                  [        5      (       d   eUR                  u  n[        U[        [
        [        45      (       d
   U S35       e[        U[        5       S9nO~U R                  U5      nU R                  X5      nUR                  bO  UR                  [        R                  :  a
  [        SS9nO'UR                  [        R                  :  a	  [        SS9n U R                   R#                  USSUS	9  g ! [$         a    U R'                  U5         g f = f)
NrichFz is not rich-console-renderable)rg   red)coloryellowignore)overflowcropstyle)r:   r-   r?   tupler   r   r^   rd   r5   rT   render_messagerH   rK   rN   r   rL   rh   print	ExceptionhandleError)rD   rQ   r   rich_renderablerf   messages         r'   emitRichPipStreamHandler.emit   s"   !% 665))fkk51111!'_"3Xs!C  C!""ABC  *<(9*J kk&)G,,V=J~~)>>W]]2!.E^^w6!1E	%LLzH5PUV 	%V$	%s    D D;:D;c                    > [         R                  " 5       SS u  p#U(       aH  U(       aA  U R                  R                  [         R                  L a  [        X#5      (       a
  [        5       e[        TU ]!  U5      $ )z1Called when logging is unable to log some output.N   )	sysexc_inforh   rz   stdoutr2   r   rB   r   )rD   rQ   r(   r)   rE   s       r'   r    RichPipStreamHandler.handleError   s[     +	 !!SZZ/%i55*,,w"6**r&   r   )r    r!   r"   r#   rv   r   r
   r	   r^   rr   r   r]   rC   rK   r`   r   r   r%   ra   rb   s   @r'   rt   rt      sq    .0HhxS	*+0
x/ 
4 
D 
%7,, % %8+'"3"3 + + +r&   rt   c                   0   ^  \ rS rSrS\4U 4S jjrSrU =r$ )BetterRotatingFileHandler   r*   c                    > [        [        R                  R                  U R                  5      5        [
        TU ]  5       $ N)r   ospathdirnamebaseFilenamerB   _open)rD   rE   s    r'   r   BetterRotatingFileHandler._open   s*    277??4#4#456w}r&   r   )r    r!   r"   r#   r   r   r%   ra   rb   s   @r'   r   r      s    }  r&   r   c                   L    \ rS rSrS\SS4S jrS\R                  S\4S jr	Sr
g)	MaxLevelFilter   levelr*   Nc                     Xl         g r   r   )rD   r   s     r'   rC   MaxLevelFilter.__init__   s    
r&   rQ   c                 4    UR                   U R                  :  $ r   )rH   r   )rD   rQ   s     r'   filterMaxLevelFilter.filter   s    ~~

**r&   r   )r    r!   r"   r#   r_   rC   rK   r`   r]   r   r%   r   r&   r'   r   r      s.    c d +W.. +4 +r&   r   c                   L   ^  \ rS rSrSrS\R                  S\4U 4S jjrSr	U =r
$ )ExcludeLoggerFilter   zI
A logging Filter that excludes records from a logger (or its children).
rQ   r*   c                 ,   > [         TU ]  U5      (       + $ r   )rB   r   )rD   rQ   rE   s     r'   r   ExcludeLoggerFilter.filter   s     7>&)))r&   r   )r    r!   r"   r#   r$   rK   r`   r]   r   r%   ra   rb   s   @r'   r   r      s&    *W.. *4 * *r&   r   	verbosityrx   user_log_filec                    U S:  a  [         R                  nObU S:X  a  [        nOUU S:X  a  [         R                  nO>U S:X  a  [         R                  nO'U S::  a  [         R
                  nO[         R                  n[         R                  " U5      nUSLnU(       a  UnSnOSnUnUS	;   a  S
OSnSSS.n	SSS.n
/ SQU(       a  S/O/ -   n[         R                  R                  SSS[         R                  S.S[        R                  S.S[        R                  S.S.[        SS.[        SSS.S.UU
S   UU	S    S!S"/S#S$.S
U
S   UU	S%   S!/S#S$.UU
S   U	S%   US&/S#S'.SU
S(   US)SS*S+.S,.UUS-.S.S/U00S0.5        U$ )1zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
r      NDEBUGz	/dev/null)INFOrN   rL   zext://sys.stdoutzext://sys.stderr)r   stderrz0pip._internal.utils.logging.RichPipStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)rw   rz   )rh   console_errorsconsole_subprocessuser_logFz*pip._internal.utils.logging.MaxLevelFilter)()r   zlogging.Filter)r   namez/pip._internal.utils.logging.ExcludeLoggerFilter)exclude_warningsrestrict_to_subprocessexclude_subprocessz%(message)s)r   rT   T)r   rT   r>   )rg   indent_with_timestamprw   r   r   r   rg   )r   classrx   rw   filters	formatterr   r   )r   r   rw   rx   r   r   rz   zutf-8r   )r   r   filenameencodingdelayr   )rh   r   r   r   )r   handlerszpip._vendorr   )versiondisable_existing_loggersr   
formattersr   rootloggers)rK   r   r   rL   rN   CRITICALr   getLevelNameconfig
dictConfigsubprocess_loggerr   r<   )r   rx   r   level_numberr   include_user_logadditional_log_file
root_levelvendored_log_levellog_streamshandler_classesr   s               r'   setup_loggingr      s    A~}}	a	b	b}}	b''||  .E %D0+
)
 ',/@&@g %$K
 EGO C(bH NN(- G$__%
 +-22+
 L-22'  -+
 -+%)*
 #,X6 ()(3 46HI!) ',X6 ()(3 45!)# #,X6)(3 ( 89!)' %,V4 3 '!!87#J $$ &1C'DEIE	
GR r&   )r   )C
contextlibr/   rK   logging.handlersr   r   	threadingdataclassesr   ior   r   typingr   r   r   r	   r
   r   r   pip._vendor.rich.consoler   r   r   r   r   r   pip._vendor.rich.highlighterr   pip._vendor.rich.loggingr   pip._vendor.rich.segmentr   pip._vendor.rich.styler   pip._internal.utils._logr   r   pip._internal.utils.compatr   pip._internal.utils.deprecationr   pip._internal.utils.miscr   localr6   r   r   r   BaseExceptionr]   r2   contextmanagerr_   r8   r5   	Formatterr<   rd   rt   r   RotatingFileHandlerr   r   r   r^   r   r   r&   r'   <module>r      sf       	 
  !   I I I  9 0 , ( 7 . B /__
01 y 
QT-%8 
Q} 
QQU 
Q &C &	*: ; & &1 10** 0f      9+; 9+x 0 0 D D +V +*& *zS zD z# zSV zr&   