§
    WŠtj{  ã                  ó  — d Z ddlmZ ddlZddl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 ddlmZ ddlmZ dd	lmZ erdd
lmZ  ede
¬¦  «        Zd„ Zd'd„Zed(d„¦   «         Zed)d„¦   «         Zd*d„Z	 	 	 d+d,d!„Zd-d.d&„ZdS )/z–distutils.spawn

Provides the 'spawn()' function, a front-end to various platform-
specific functions for launching another program in a sub-process.
é    )ÚannotationsN)ÚMappingÚMutableSequence)ÚTYPE_CHECKINGÚTypeVarÚoverloadé   )Úlog©ÚDEBUG)ÚDistutilsExecError)Ú_ENVÚ	_MappingT)Úboundc                ó$   — t           r| n| d         S )zE
    Render a subprocess command differently depending on DEBUG.
    r   r   )Úcmds    úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/setuptools/_distutils/spawn.pyÚ_debugr      s   € õ Ð#ˆ3ˆ3˜S œVÐ#ó    Úenvú_MappingT | NoneÚreturnú'_MappingT | dict[str, str | int] | Nonec                óŽ   — t          j        ¦   «         dk    r| S ddlm}m}  |¦   «         }|r||ini }i t          | ¦  «        ¥|¥S )NÚDarwinr	   )ÚMACOSX_VERSION_VARÚget_macosx_target_ver)ÚplatformÚsystemÚutilr   r   Ú_resolve)r   r   r   Ú
target_verÚupdates        r   Ú_inject_macos_verr$   $   sk   € Ý„ÑÔ˜HÒ$Ð$Øˆ
à?Ð?Ð?Ð?Ð?Ð?Ð?Ð?à&Ð&Ñ(Ô(€JØ1;ÐCÐ  *Ð-Ð-À€FØ&�h�s‰mŒmÐ&˜vÐ&Ð&r   ÚNoneúos._Environ[str]c                ó   — d S ©N© ©r   s    r   r!   r!   /   s   € Ø-0¨Sr   c                ó   — d S r(   r)   r*   s    r   r!   r!   1   s   € Ø+.¨3r   ú_MappingT | os._Environ[str]c                ó"   — | €t           j        n| S r(   )ÚosÚenvironr*   s    r   r!   r!   3   s   € Ø˜�2Œ:ˆ:¨#Ð-r   TFr   ú/MutableSequence[bytes | str | os.PathLike[str]]Úsearch_pathÚboolÚverboseú_ENV | Nonec                óÔ  — t          j        t          j        | ¦  «        ¦  «         |r!t	          j        | d         ¦  «        }|�|| d<   	 t          j        | t          |¦  «        ¬¦  «         dS # t          $ r3}t          dt          | ¦  «        ›d|j        d         › �¦  «        |‚d}~wt          j        $ r-}t          dt          | ¦  «        ›d|j        › �¦  «        |‚d}~ww xY w)aN  Run another program, specified as a command list 'cmd', in a new process.

    'cmd' is just the argument list for the new process, ie.
    cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
    There is no way to run a program with a name different from that of its
    executable.

    If 'search_path' is true (the default), the system's executable
    search path will be used to find the program; otherwise, cmd[0]
    must be the exact path to the executable.

    Raise DistutilsExecError if running the program fails in any way; just
    return on success.
    r   Nr*   zcommand z	 failed: éÿÿÿÿz failed with exit code )r
   ÚinfoÚ
subprocessÚlist2cmdlineÚshutilÚwhichÚ
check_callr$   ÚOSErrorr   r   ÚargsÚCalledProcessErrorÚ
returncode)r   r1   r3   r   Ú
executableÚexcÚerrs          r   ÚspawnrD   7   s  € õ( „H�ZÔ$ SÑ)Ô)Ñ*Ô*Ð*àð  Ý”\ # a¤&Ñ)Ô)ˆ
ØÐ!ØˆC�‰Fð	ÝÔ˜cÕ'8¸Ñ'=Ô'=Ð>Ñ>Ô>Ð>Ð>Ð>øÝð ð ð Ý Ø=•v˜c‘{”{Ð=Ð=¨s¬x¸¬|Ð=Ð=ñ
ô 
àð	øøøøõ Ô(ð ð ð Ý ØM•v˜c‘{”{ÐMÐM¸S¼^ÐMÐMñ
ô 
àð	øøøøðøøøs$   Á#A0 Á0
C'Á:.B(Â(C'Â:(C"Ã"C'rA   ÚstrÚpathú
str | Nonec                óŠ  — t          j        dt          d¬¦  «         t          j                             | ¦  «        \  }}t          j        dk    r|dk    r| dz   } t          j                             | ¦  «        r| S |€[t          j	         
                    dd¦  «        }|€9	 t          j        d¦  «        }n## t          t          f$ r t          j        }Y nw xY w|sdS |                     t          j        ¦  «        }|D ]E}t          j                             || ¦  «        }t          j                             |¦  «        r|c S ŒFdS )	zÚTries to find 'executable' in the directories listed in 'path'.

    A string listing directories separated by 'os.pathsep'; defaults to
    os.environ['PATH'].  Returns the complete filename or None if not found.
    z+Use shutil.which instead of find_executableé   )Ú
stacklevelÚwin32z.exeNÚPATHÚCS_PATH)ÚwarningsÚwarnÚDeprecationWarningr.   rF   ÚsplitextÚsysr   Úisfiler/   ÚgetÚconfstrÚAttributeErrorÚ
ValueErrorÚdefpathÚsplitÚpathsepÚjoin)rA   rF   Ú_ÚextÚpathsÚpÚfs          r   Úfind_executablera   ^   sM  € õ „MØ5Õ7IÐVWðñ ô ð õ ŒW×Ò˜jÑ)Ô)�F€A€sÝŒ˜ÒÐ c¨V¢m mØ &Ñ(ˆ
å	„w‡~‚~�jÑ!Ô!ð ØÐà€|ÝŒz�~Š~˜f dÑ+Ô+ˆàˆ<ð"Ý”z )Ñ,Ô,��øÝ"¥JÐ/ð "ð "ð "å”z���ð"øøøð
 ð Øˆtà�JŠJ•r”zÑ"Ô"€EØð ð ˆÝŒG�LŠL˜˜JÑ'Ô'ˆÝŒ7�>Š>˜!ÑÔð 	àˆHˆHˆHð	ð ˆ4s   Â B5 Â5CÃC)r   r   r   r   )r   r%   r   r&   )r   r   r   r   )r   r   r   r,   )TFN)
r   r0   r1   r2   r3   r2   r   r4   r   r%   r(   )rA   rE   rF   rG   r   rG   )Ú__doc__Ú
__future__r   r.   r   r:   r8   rR   rN   Úcollections.abcr   r   Útypingr   r   r   Ú_logr
   Údebugr   Úerrorsr   r   r   r   r$   r!   rD   ra   r)   r   r   ú<module>ri      s¥  ððð ð #Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &àð  ØÐÐÐÐÐð ˆG�K wÐ/Ñ/Ô/€	ð$ð $ð $ð'ð 'ð 'ð 'ð 
Ø 0Ð 0Ð 0ñ 
„Ø 0Ø	Ø .Ð .Ð .ñ 
„Ø .ð.ð .ð .ð .ð ØØð	$ð $ð $ð $ð $ðN$ð $ð $ð $ð $ð $ð $r   