§
    u”j#  ã                  óú   — d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dl	m
Z
mZmZmZ d dlmZ d dlmZmZ d dlmZ d dlmZmZ d d	lmZ eeeef                  Zd.d„Zd/d„Zd0d„Z	 	 	 	 	 	 	 	 	 d1d2d*„Z d3d-„Z!dS )4é    )ÚannotationsN)ÚIterableÚMapping)ÚAnyÚCallableÚLiteralÚUnion)Úescape)ÚSpinnerInterfaceÚopen_spinner)ÚInstallationSubprocessError)ÚVERBOSEÚsubprocess_logger)Ú
HiddenTextÚargsústr | HiddenText | CommandArgsÚreturnÚCommandArgsc                 ó”   — g }| D ]B}t          |t          ¦  «        r|                     |¦  «         Œ-|                     |¦  «         ŒC|S )z&
    Create a CommandArgs object.
    )Ú
isinstanceÚlistÚextendÚappend)r   Úcommand_argsÚargs      úm/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pip/_internal/utils/subprocess.pyÚmake_commandr      sb   € ð !#€LØð %ð %ˆõ �c�4Ñ Ô ð 	%Ø×Ò Ñ$Ô$Ð$Ð$ð ×Ò Ñ$Ô$Ð$Ð$àÐó    úlist[str] | CommandArgsÚstrc                ó@   — d                      d„ | D ¦   «         ¦  «        S )z/
    Format command arguments for display.
    ú c              3  óª   K  — | ]N}t          |t          ¦  «        r!t          j        t	          |¦  «        ¦  «        nt          j        |¦  «        V — ŒOd S )N)r   r   ÚshlexÚquoter    ©Ú.0r   s     r   ú	<genexpr>z&format_command_args.<locals>.<genexpr>.   sd   è è € ð ð àõ ",¨CµÑ!<Ô!<ÐR�Œ•C˜‘H”HÑÔÐÅ%Ä+ÈcÑBRÔBRðð ð ð ð ð r   )Újoin©r   s    r   Úformat_command_argsr+   %   s6   € ð �8Š8ð ð àðñ ô ñ ô ð r   ú	list[str]c                ó   — d„ | D ¦   «         S )z=
    Return the arguments in their raw, unredacted form.
    c                óJ   — g | ] }t          |t          ¦  «        r|j        n|‘Œ!S © )r   r   Úsecretr&   s     r   ú
<listcomp>z'reveal_command_args.<locals>.<listcomp>8   s-   € ÐOÐOÐOÀ3�* S­*Ñ5Ô5Ð>ˆCŒJˆJ¸3ÐOÐOÐOr   r/   r*   s    r   Úreveal_command_argsr2   4   s   € ð PÐOÈ$ÐOÑOÔOÐOr   FÚraiseTÚcmdÚshow_stdoutÚboolÚcwdú
str | NoneÚon_returncodeú"Literal['raise', 'warn', 'ignore']Úextra_ok_returncodesúIterable[int] | NoneÚextra_environúMapping[str, Any] | NoneÚunset_environúIterable[str] | NoneÚspinnerúSpinnerInterface | NoneÚlog_failed_cmdúbool | NoneÚstdout_onlyÚcommand_descc
          	     óÌ  — |€g }|€g }|rt           j        }t          j        }nt           j        }t
          }t          j        ¦   «         |k    }| o|du} |d|
¦  «         t          j         	                    ¦   «         }|r| 
                    |¦  «         |D ]}|                     |d¦  «         Œ	 t          j        t          | ¦  «        t          j        t          j        |	st          j        nt          j        ||d¬¦  «        }n+# t"          $ r}|rt          j        d||
¦  «         ‚ d}~ww xY wg }|	�s|j        sJ ‚|j        sJ ‚|j                             ¦   «          	 |j                             ¦   «         }|snR|                     ¦   «         }|                     |dz   ¦  «          ||¦  «         |r|sJ ‚|                     ¦   «          Œn	 |                     ¦   «          |j        r|j                             ¦   «          n&# |j        r|j                             ¦   «          w w xY wd                     |¦  «        }n‡|                     ¦   «         \  }}|                     ¦   «         D ]} ||¦  «         Œ|                     |¦  «         |                     ¦   «         D ]} ||¦  «         Œ|                     |¦  «         |}|j        o|j        |v}|r1|sJ ‚|r|                     d	¦  «         n|                     d
¦  «         |rÕ|dk    r“tA          |
|j        |s|nd¬¦  «        }|rtt          j!        d|ddi¬¦  «         t          j        dtE          tG          | ¦  «        ¦  «        ddi¬¦  «         t          j        dtE          |pd¦  «        ddi¬¦  «         |‚|dk    rt          j$        d|
|j        |¦  «         n|dk    rntK          d|›�¦  «        ‚|S )aÍ  
    Args:
      show_stdout: if true, use INFO to log the subprocess's stderr and
        stdout streams.  Otherwise, use DEBUG.  Defaults to False.
      extra_ok_returncodes: an iterable of integer return codes that are
        acceptable, in addition to 0. Defaults to None, which means [].
      unset_environ: an iterable of environment variable names to unset
        prior to calling subprocess.Popen().
      log_failed_cmd: if false, failed commands are not logged, only raised.
      stdout_only: if true, return only stdout, else return both. When true,
        logging of both stdout and stderr occurs when the subprocess has
        terminated, else logging occurs as subprocess output is produced.
    NzRunning command %sÚbackslashreplace)ÚstdinÚstdoutÚstderrr7   ÚenvÚerrorsz#Error %s while executing command %sTú
Ú ÚerrorÚdoner3   )Úcommand_descriptionÚ	exit_codeÚoutput_linesz%sÚrich)Úextraz*[bold magenta]full command[/]: [blue]%s[/]Úmarkupz[bold magenta]cwd[/]: %sz	[inherit]Úwarnz$Command "%s" had error code %s in %sÚignorezInvalid value: on_returncode=)&r   ÚinfoÚloggingÚINFOÚverboser   ÚgetEffectiveLevelÚosÚenvironÚcopyÚupdateÚpopÚ
subprocessÚPopenr2   ÚPIPEÚSTDOUTÚ	ExceptionÚcriticalrJ   rI   ÚcloseÚreadlineÚrstripr   ÚspinÚwaitr)   ÚcommunicateÚ
splitlinesÚ
returncodeÚfinishr   rP   r
   r+   ÚwarningÚ
ValueError)r4   r5   r7   r9   r;   r=   r?   rA   rC   rE   rF   Úlog_subprocessÚ
used_levelÚshowing_subprocessÚuse_spinnerrL   ÚnameÚprocÚexcÚ
all_outputÚlineÚoutputÚoutÚerrÚout_lineÚerr_lineÚproc_had_errorrP   s                               r   Úcall_subprocessr„   ;   sÁ  € ð6 Ð#Ø!ÐØÐØˆð  ð å.?Ô.DˆÝ”\ˆ
ˆ
õ +Ô2ˆÝˆ
õ +Ô<Ñ>Ô>À*ÒLÐð )Ð(Ð@¨W¸DÐ-@€Kà€NÐ'¨Ñ6Ô6Ð6Ý
Œ*�/Š/Ñ
Ô
€CØð "Ø�
Š
�=Ñ!Ô!Ð!Øð ð ˆØ�Š��dÑÔÐÐðÝÔå Ñ$Ô$Ý”/Ý”?Ø,7ÐL•:Ô$Ð$½Z¼_ØØØ%ð	
ñ 	
ô 	
ˆˆøõ ð ð ð Øð 	ÝÔ&Ø5ØØñô ð ð
 	øøøøðøøøð €JØñ #ØŒ{ÐÐÐØŒzÐÐÐØŒ
×ÒÑÔÐð	Øœ×,Ò,Ñ.Ô.ˆDØð ØØ—;’;‘=”=ˆDØ×Ò˜d T™kÑ*Ô*Ð*ð ˆN˜4Ñ Ô Ð àð Ø���Ø—’‘”�ð	ð	$Ø�IŠI‰KŒKˆKàŒ{ð $Ø”×!Ò!Ñ#Ô#Ð#øøð Œ{ð $Ø”×!Ò!Ñ#Ô#Ð#Ð#ð$øøøà—’˜Ñ$Ô$ˆˆð ×#Ò#Ñ%Ô%‰ˆˆSàŸšÑ(Ô(ð 	%ð 	%ˆHØˆN˜8Ñ$Ô$Ð$Ð$Ø×Ò˜#ÑÔÐØŸšÑ(Ô(ð 	%ð 	%ˆHØˆN˜8Ñ$Ô$Ð$Ð$Ø×Ò˜#ÑÔÐØˆà”_ÐT¨¬Ð@TÐ)T€NØð #ØˆˆˆØð 	#Ø�NŠN˜7Ñ#Ô#Ð#Ð#à�NŠN˜6Ñ"Ô"Ð"Øð PØ˜GÒ#Ð#Ý/Ø$0Øœ/Ø/AÐK˜Z˜ZÀtðñ ô ˆEð
 ð Ý!Ô'¨¨e¸FÀD¸>ÐJÑJÔJÐJÝ!Ô)Ø@ÝÕ.¨sÑ3Ô3Ñ4Ô4Ø# TÐ*ðñ ô ð õ
 "Ô)Ø.Ý˜3Ð- +Ñ.Ô.Ø# TÐ*ðñ ô ð ð ˆKØ˜fÒ$Ð$ÝÔ%Ø6ØØ”Øñ	ô ð ð ð ˜hÒ&Ð&ØåÐN¸]ÐNÐNÑOÔOÐOØ€Ms%   Â2AD Ä
D/ÄD*Ä*D/ÇH È#H*ÚmessageúCallable[..., None]c                ó   ‡ — 	 	 ddˆ fd
„}|S )zßProvide a subprocess_runner that shows a spinner message.

    Intended for use with for BuildBackendHookCaller. Thus, the runner has
    an API that matches what's expected by BuildBackendHookCaller.subprocess_runner.
    Nr4   r,   r7   r8   r=   r>   r   ÚNonec                ó€   •— t          ‰¦  «        5 }t          | ‰|||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)rF   r7   r=   rA   )r   r„   )r4   r7   r=   rA   r…   s       €r   Úrunnerz+runner_with_spinner_message.<locals>.runnerê   sš   ø€ õ
 ˜'Ñ"Ô"ð 	 gÝØØ$ØØ+Øðñ ô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ‘3³7º7)NN)r4   r,   r7   r8   r=   r>   r   rˆ   r/   )r…   rŠ   s   ` r   Úrunner_with_spinner_messager‹   ã   s5   ø€ ð Ø26ðð ð ð ð ð ð ð €Mr   )r   r   r   r   )r   r   r   r    )r   r   r   r,   )	FNr3   NNNNTF)r4   r   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rD   rF   r    r   r    )r…   r    r   r†   )"Ú
__future__r   r[   r_   r$   rd   Úcollections.abcr   r   Útypingr   r   r   r	   Úpip._vendor.rich.markupr
   Úpip._internal.cli.spinnersr   r   Úpip._internal.exceptionsr   Úpip._internal.utils.loggingr   r   Úpip._internal.utils.miscr   r   r    r   r   r+   r2   r„   r‹   r/   r   r   ú<module>r”      s�  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à *Ð *Ð *Ð *Ð *Ð *à EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ @Ð @Ð @Ð @Ð @Ð @Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ /Ð /Ð /Ð /Ð /Ð /à�5˜˜j˜Ô)Ô*€ðð ð ð ð"ð ð ð ðPð Pð Pð Pð ØØ8?Ø15Ø.2Ø*.Ø'+Ø"&Ø$ðeð eð eð eð eðPð ð ð ð ð r   