
    q"h,/                        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  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*  \RV                  " 5       r,Sq-Sr.\$" S5      r/ " S S\05      r1S\\2   S\2S\34S jr4\ Rj                  S0S\6S\S   4S jj5       r7S\64S jr8 " S S\Rr                  5      r:\ " S S5      5       r; " S S\5      r<S S!.S"\3S\4S# jjr= " S$ S%\5      r> " S& S'\R~                  R                  5      rA " S( S)\5      rB " S* S+\5      rCS,\6S-\3S.\\D   S\64S/ jrEg)1    N)	dataclass)TextIOWrapper)Filter)AnyClassVar	GeneratorListOptional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       M/var/www/html/env/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_errorr1   +   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)r2   s    r&   
indent_logr7   8   sM      -.Jc!&#%
#%s   -A,A A,A))A,c                  $    [        [        SS5      $ )Nr6   r   )getattrr5   r   r%   r&   r4   r4   G   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$ )IndentingFormatterK   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&   rB   IndentingFormatter.__init__N   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)rC   rF   rG   s      r&   get_message_start$IndentingFormatter.get_message_start]   s<    
 W__$ 677 W]]"r%   recordc                 B  > [         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.
rI    T)	rA   formatrN   rG   r=   
formatTimer4   join
splitlines)rC   rP   rF   message_startprefixlinerD   s         r&   rS   IndentingFormatter.formatm   s    
 GN6*	..y..I!-	/02F#)))GGy7K7KD7QR7Qtd]7QRS	 Ss   B)r   r    r!   r"   default_time_formatr   boolrB   strintrN   rJ   	LogRecordrS   r$   __classcell__rD   s   @r&   r;   r;   K   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)NrR   
)renderre   r   split_linesrf   )rC   rg   rh   segmentslinesrY   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   ro   r$   r   r%   r&   rc   rc   ~   s*    K  )7 	 r%   rc   c                       \ rS rSrSS jrSrg)
PipConsole   Nc                     [        5       S eN)r+   )rC   s    r&   on_broken_pipePipConsole.on_broken_pipe   s     T)r%   r   )r)   N)r   r    r!   r"   rw   r$   r   r%   r&   rs   rs      s    *r%   rs   Fstderrrz   c                 `    U (       a  [         c   S5       e[         $ [        c   S5       e[        $ )Nzstderr rich console is missing!zstdout rich console is missing!)_stderr_console_stdout_consolery   s    r&   get_consoler~      s5    *M,MM**M,MM*r%   c                      ^  \ rS rSr% / r\\\\         \	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   KEYWORDSrg   r)   Nc                 8   > [         TU ]  USSS[        5       S9  g )NF)rg   	show_time
show_level	show_pathhighlighter)rA   rB   r   )rC   rg   rD   s     r&   rB   RichPipStreamHandler.__init__   s'    ') 	 	
r%   rP   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)rf   red)coloryellowignore)overflowcropstyle)r9   r,   r>   tupler   r   r]   rc   r4   rS   render_messagerG   rJ   rM   r   rK   rg   print	ExceptionhandleError)rC   rP   r   rich_renderablere   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_inforg   filestdoutr1   r   rA   r   )rC   rP   r'   r(   rD   s       r&   r    RichPipStreamHandler.handleError   s[     +	 !!SZZ/%i55*,,w"6**r%   r   )r   r    r!   r"   r   r   r
   r	   r]   rq   r   rB   rJ   r_   r   r   r$   r`   ra   s   @r&   r   r      se    .0HhxS	*+0
 
D 
%7,, % %8+'"3"3 + + +r%   r   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       $ rv   )r   ospathdirnamebaseFilenamerA   _open)rC   rD   s    r&   r   BetterRotatingFileHandler._open   s*    277??4#4#456w}r%   r   )r   r    r!   r"   r   r   r$   r`   ra   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 rv   r   )rC   r   s     r&   rB   MaxLevelFilter.__init__   s    
r%   rP   c                 4    UR                   U R                  :  $ rv   )rG   r   )rC   rP   s     r&   filterMaxLevelFilter.filter   s    ~~

**r%   r   )r   r    r!   r"   r^   rB   rJ   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).
rP   r)   c                 ,   > [         TU ]  U5      (       + $ rv   )rA   r   )rC   rP   rD   s     r&   r   ExcludeLoggerFilter.filter   s     7>&)))r%   r   )r   r    r!   r"   r#   rJ   r_   r\   r   r$   r`   ra   s   @r&   r   r      s&    *W.. *4 * *r%   r   	verbosityno_coloruser_log_filec                 B   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QU(       a  S/O/ -   n
[        [        R                  USS9q[        [        R                  USS9n[         R                  R                  SSS[         R                  S.S[        R                   S.S[        R                   S.S.["        SS.["        SSS.S.UU	S   [        SS/S S!.S
U	S   US/S S!.UU	S   US"/S S!.SU	S#   US$SS%S&.S'.UU
S(.S)S*U00S+.5        U$ ),zfConfigures and sets up all of the logging

Returns the requested logging level, as its integer value.
r      NDEBUGz	/dev/null)INFOrM   rK   z0pip._internal.utils.logging.RichPipStreamHandlerz5pip._internal.utils.logging.BetterRotatingFileHandler)streamr   )rg   console_errorsconsole_subprocessuser_logT)r   r   	soft_wrapFz*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   rS   )r   rS   r=   )rf   indent_with_timestampr   r   r   rf   )r   classrg   filters	formatterr   r   zutf-8r   )r   r   filenameencodingdelayr   )rg   r   r   r   )r   handlerszpip._vendorr   )versiondisable_existing_loggersr   
formattersr   rootloggers)rJ   r   r   rK   rM   CRITICALr   getLevelNamers   r   r   r}   rz   config
dictConfigsubprocess_loggerr   r;   )r   r   r   level_numberr   include_user_logadditional_log_file
root_levelvendored_log_levelhandler_classesr   r|   s               r&   setup_loggingr      s    A~}}	a	b	b}}	b''||  .E %D0+
)
 ',/@&@g EGO C(bH !cjj8tTO cjj8tTONN(- G$__%
 +-22+
 L-22'  -+
 -+%)*
 #,X6. 46HI!) ',X6. 45!)# #,X6. 89!)' %,V4 3 '!!81 D $$ &1C'DECB	
DL r%   )r   )F
contextlibr.   rJ   logging.handlersr   r   	threadingdataclassesr   ior   r   typingr   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   localr5   r}   r|   r   r   r   BaseExceptionr\   r1   contextmanagerr^   r7   r4   	Formatterr;   rc   rs   r~   r   r   RotatingFileHandlerr   r   r   r]   r   r   r%   r&   <module>r      s       	 
  !   A A  9 0 , ( 7 . B /__
01 y 
QT-%8 
Q} 
QQU 
Q &C &	*: ; & &1 10** 0f      * * #( 4 G 9+; 9+x 0 0 D D +V +*& *vS vD v# vSV vr%   