U e5d1@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddlm Z ddddddd d d d d dddgZ zddl Z ddlZdZWn0ek rdZddlZddlZddlZYnXddlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%e &ddddddddddddd d!d"d#d$d%d&gGd'dde'Z(Gd(d d e(Z)Gd)dde(Z*erGd*ddZ+Gd+d,d,e,Z-n&e.ed-d.Z/e0ed/rej1Z2nej3Z2erdZ4d0d1Z5n gZ4d2d1Z5d3Z6d4Z7d5Z8d6d7Z9d8d9Z:dd:d;dZ;ddde>Z?ddddd?d@d Z@dAdBZAdCdZBdDd ZCdEdFZDeDZEGdGdde>ZFdS)HN) monotonicPopenPIPESTDOUTcall check_callgetstatusoutput getoutput check_outputrunCalledProcessErrorDEVNULLSubprocessErrorTimeoutExpiredCompletedProcessTF)CREATE_NEW_CONSOLECREATE_NEW_PROCESS_GROUPSTD_INPUT_HANDLESTD_OUTPUT_HANDLESTD_ERROR_HANDLESW_HIDESTARTF_USESTDHANDLESSTARTF_USESHOWWINDOWABOVE_NORMAL_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSHIGH_PRIORITY_CLASSIDLE_PRIORITY_CLASSNORMAL_PRIORITY_CLASSREALTIME_PRIORITY_CLASSCREATE_NO_WINDOWDETACHED_PROCESSCREATE_DEFAULT_ERROR_MODECREATE_BREAKAWAY_FROM_JOBrrrrrrrr STARTUPINFOrrrrrrrr r!r"c@s eZdZdS)rN)__name__ __module__ __qualname__r'r'"/usr/lib64/python3.8/subprocess.pyr`sc@s8eZdZd ddZddZeddZejddZdS) r NcCs||_||_||_||_dSN) returncodecmdoutputstderr)selfr*r+r,r-r'r'r(__init__jszCalledProcessError.__init__cCsh|jrT|jdkrTzd|jt|j fWStk rPd|j|j fYSXnd|j|jfSdS)NrzCommand '%s' died with %r.z)Command '%s' died with unknown signal %d.z.Command '%s' returned non-zero exit status %d.)r*r+signalZSignals ValueErrorr.r'r'r(__str__ps zCalledProcessError.__str__cCs|jSr)r,r2r'r'r(stdout|szCalledProcessError.stdoutcCs ||_dSr)r4r.valuer'r'r(r5s)NNr$r%r&r/r3propertyr5setterr'r'r'r(r cs    c@s8eZdZd ddZddZeddZejddZdS) rNcCs||_||_||_||_dSr))r+timeoutr,r-)r.r+r;r,r-r'r'r(r/szTimeoutExpired.__init__cCsd|j|jfS)Nz'Command '%s' timed out after %s seconds)r+r;r2r'r'r(r3s zTimeoutExpired.__str__cCs|jSr)r4r2r'r'r(r5szTimeoutExpired.stdoutcCs ||_dSr)r4r6r'r'r(r5s)NNr8r'r'r'r(rs   c@s,eZdZdddddddddZddZdS)r#rNdwFlags hStdInput hStdOutput hStdError wShowWindowlpAttributeListcCs0||_||_||_||_||_|p(dgi|_dS)N handle_listr<)r.r=r>r?r@rArBr'r'r(r/s zSTARTUPINFO.__init__cCs@|j}d|kr"t|d|d<t|j|j|j|j|j|dS)NrCr<) rBcopylistr#r=r>r?r@rA)r.Z attr_listr'r'r(rDs zSTARTUPINFO.copy)r$r%r&r/rDr'r'r'r(r#s  c@s2eZdZdZejfddZddZddZeZ dS) HandleFcCs|jsd|_||dS)NT)closed)r. CloseHandler'r'r(Closesz Handle.ClosecCs |jsd|_t|StddS)NTzalready closed)rGintr1r2r'r'r(Detachsz Handle.DetachcCsd|jjt|fS)Nz%s(%d)) __class__r$rJr2r'r'r(__repr__szHandle.__repr__N) r$r%r&rG_winapirHrIrKrM__del__r'r'r'r(rFs rFZPIPE_BUFi PollSelectorcCsdSr)r'r'r'r'r(_cleanupsrQc Cs\tdkr dStddD]>}|jtjd}|dk rzt|Wqtk rTYqXqdS)N _deadstate)_active_internal_pollsysmaxsizeremover1)instresr'r'r(rQscCs*g}tjj}|dkr&|dd||S)Nr-O)rVflagsoptimizeappend)argsr7r'r'r("_optim_args_from_interpreter_flagss rdc CsVddddddd}t}|D].\}}ttj|}|dkr |d ||q tjjrd|d n$tjjrv|d tjjr|d tj dd}tjj }ttd i}d|k}|dkr| dn|r| d|r| d|D]}|d|q|r | ddD]B}||kr||} | dkr4|} n d|| f} | d| fq|S)NdBSvbq)debugdont_write_bytecodeno_siteverbose bytes_warningquietrr^z-Iz-Ez-s _xoptionsdevzerror::BytesWarningzdefault::BytesWarningdefaultz-W)-Xrr)Z faulthandler tracemallocZ importtimeZshowalloccountZ showrefcountutf8Tz%s=%sru) rditemsgetattrrVr`rbisolatedignore_environment no_user_site warnoptionsrorXextend) Z flag_opt_maprcflagoptrhZwarnoptsroZxoptionsdev_moder7argr'r'r(_args_from_interpreter_flagssP             rr;c OsLt||8}z|j|dWW5QRS|YnXW5QRXdS)Nr)rwaitkill)r; popenargskwargspr'r'r(rLs  cOs6t||}|r2|d}|dkr(|d}t||dS)Nrcr)rgetr )rrretcoder+r'r'r(r]s   cOsbd|krtdd|krJ|ddkrJ|ds8|dr>d}nd}||d<t|t|dd |jS) Nr5z3stdout argument not allowed, it will be overridden.inputuniversal_newlinestextT)r5r;check)r1rr rr5)r;rremptyr'r'r(r ps#c@s&eZdZdddZddZddZdS) rNcCs||_||_||_||_dSr))rcr*r5r-)r.rcr*r5r-r'r'r(r/szCompletedProcess.__init__cCshd|jd|jg}|jdk r4|d|j|jdk rP|d|jdt|jd|S)Nz args={!r}zreturncode={!r}z stdout={!r}z stderr={!r}z{}({})z, ) formatrcr*r5rbr-typer$join)r.rcr'r'r(rMs    zCompletedProcess.__repr__cCs |jrt|j|j|j|jdSr))r*r rcr5r-r2r'r'r(check_returncodesz!CompletedProcess.check_returncode)NN)r$r%r&r/rMrr'r'r'r(rs  )rcapture_outputr;rc Os |dk r&|ddk rtdt|d<|r^|ddk sF|ddk rNtdt|d<t|d<t||}z|j||d\}}Wn^tk r} z,|tr|\| _| _ n| W5d} ~ XYn|YnX| } |r| rt | |j ||dW5QRXt|j | ||S)Nstdinz/stdin and input arguments may not both be used.r5r-z@stdout and stderr arguments may not be used with capture_output.rr,r-)rr1rr communicaterr _mswindowsr5r-rpollr rcr) rrr;rrrZprocessr5r-excrr'r'r(r s8  cCsg}d}ttj|D]}g}|r*|dd|kp>d|kp>| }|rN|d|D]b}|dkrj||qR|dkr|dt|dg}|dqR|r||g}||qR|r|||r|||dqd|S) NF  "\z\"r)maposfsdecoderblenr~r)seqresultZ needquoterZbs_bufcr'r'r( list2cmdline s4         rc Cslzt|ddtd}d}Wn.tk rF}z|j}|j}W5d}~XYnX|dddkrd|dd}||fS)NT)shellrr-rr[ )r rr r,r*)r+dataZexitcodeZexr'r'r(rRs cCs t|dSNrs)r)r+r'r'r(r qs c CststtdsdStjdkr dSzjtd}|jdd}t|dkrHt|d }t t t |dd }tjd kr|d kr|d krWdSWnt tt fk rYnXdS)N posix_spawnFdarwinTCS_GNU_LIBC_VERSIONrs)maxsplitrr.ZlinuxZglibc)r)rhasattrrrVplatformconfstrsplitrr1tuplerrJAttributeErrorOSError)ZverpartsZlibcversionr'r'r(_use_posix_spawn~s      rc@seZdZdZdJdddddd Zed d Zejd d Zd dZddZ ddZ e j e jfddZddZddZdKddZddZddZdLdd ZdMd!d"Zd#d$Zerd%d&Zd'd(Zd)d*Zd+d,Zdejejej fd-d.Z!d/d0Z"d1d2Z#d3d4Z$d5d6Z%d7d8Z&e&Z'nd9d&Zd:d;Z(dZ0de)j1e)j2e3j4fd?d.Z!d@dAZ5dBd0Z"dCd4Z$dDdEZ6dFd6Z%dGd8Z&dHdIZ'dS)NrFr[NTrr')encodingerrorsrcCsltt|_d|_d|_|dkr(d}t|ts:tdt rP|dk rt dn8|rh|sht dt d}| dk rxt d|dkrt d ||_d|_d|_d|_d|_d|_||_||_|dk r| dk rt| t|krtd ||||\}}}}}}t rN|dkrt|d}|dkr4t|d}|dkrNt|d}|pb|pb|pb| |_d |_d|_|jr|d krd}d}nd}z|dkrt |d ||_|jrtj!|jd|||d|_|dkrt |d||_|jrtj!|j||d|_|dkr:t |d||_|jr:tj!|j||d|_|"|||||| | | || ||||||||Wnt#d|j|j|jfD]*}z |$Wnt%k rYnXq|js`g}|t&kr|'||t&kr|'||t&kr|'|t(|dr|'|j)|D]H}z*t r8t|t*r8|+n t,$|Wnt%k rZYnXqYnXdS)NFr[zbufsize must be an integerz0preexec_fn is not supported on Windows platformszpass_fds overriding close_fds.Tz2startupinfo is only supported on Windows platformsrz4creationflags is only supported on Windows platformszlCannot disambiguate when both text and universal_newlines are supplied but different. Pass one or the other.g?rswb) write_throughline_bufferingrrrb)rr_devnull)-rQ threadingZLock _waitpid_lock_input_communication_started isinstancerJ TypeErrorrr1warningswarnRuntimeWarningrcrr5r-pidr*rrboolr _get_handlesmsvcrtZopen_osfhandlerK text_mode_sigint_wait_secs_closed_child_pipe_fdsioopen TextIOWrapper_execute_childfiltercloserrrbrrrFrIr)r.rcbufsize executablerr5r- preexec_fn close_fdsrcwdenvr startupinfo creationflagsrestore_signalsstart_new_sessionpass_fdsrrrp2creadp2cwritec2preadc2pwriteerrreaderrwriterfZto_closefdr'r'r(r/s                          zPopen.__init__cCs|jSr))rr2r'r'r(r~szPopen.universal_newlinescCst||_dSr))rr)r.rr'r'r(rscCs |||}|ddddS)Nz r )decodereplace)r.rrrr'r'r(_translate_newliness zPopen._translate_newlinescCs|Sr)r'r2r'r'r( __enter__szPopen.__enter__cCs|jr|j|jr |jdz|jr4|jW5|tkr|jdkrrz|j|jdWntk rpYnXd|_dS|XdS)Nrr) r5rr-KeyboardInterruptr_waitrrr)r.exc_typer7 tracebackr'r'r(__exit__s    zPopen.__exit__cCsT|js dS|jdkr(|d|jt|d|j|d|jdkrPtdk rPt|dS)Nzsubprocess %s is still running)sourcerR)_child_createdr*rResourceWarningrUrTrb)r.Z_maxsizeZ_warnr'r'r(rOs   z Popen.__del__cCs"t|dsttjtj|_|jS)Nr)rrrdevnullO_RDWRrr2r'r'r( _get_devnulls zPopen._get_devnullc Cs|rZz|j|WnDtk r(Yn2tk rX}z|jtjkrFnW5d}~XYnXz|jWnDtk r|Yn2tk r}z|jtjkrnW5d}~XYnXdSr))rwriteBrokenPipeErrorrerrnoZEINVALr)r.rrr'r'r( _stdin_writes"  zPopen._stdin_writec CsT|jr|rtd|dkr|js|j|j|jgddkrd}d}|jrT||n6|jrp|j}|jn|jr|j}|j| n|dk rt |}nd}zz| |||\}}Wnht k r,|dk rt |j||}n|j}d|_z|j|dWntk r$YnXYnXW5d|_X|j ||d}||fS)Nz.Cannot send input after starting communicationrTrr)rr1rr5r-countrreadrr_time _communicaterminr_remaining_timerr)r.rr;r5r-endtimesigint_timeoutstsr'r'r(rsH         zPopen.communicatecCs|Sr))rUr2r'r'r(rsz Popen.pollcCs|dkr dS|tSdSr))r)r.r r'r'r(r"szPopen._remaining_timecCsL|dkr dS|st|krHt|j||r0d|nd|r@d|ndddS)Nrr)rrrcr)r.r  orig_timeoutZ stdout_seqZ stderr_seqskip_check_and_raiser'r'r(_check_timeout*szPopen._check_timeoutc Cs|dk rt|}z|j|dWStk r|dk rLt|j||}n|j}d|_z|j|dWntk r|YnXYnXdS)Nrr)rrrrrrr)r.r;r r r'r'r(r6s  z Popen.waitc Cst|dd}t}trX|dkr.||j|dkrB||j|dkr||jnr|dkr~|dkr~||kr~|tj||dkr|dkr||kr|tj||dkr|dkr||kr|tj||dk r|tj|W5QRXd|_dS)Nrr[T) ry contextlib ExitStackrcallbackrIrrr) r.rrrrrrZ devnull_fdstackr'r'r(_close_pipe_fdsMs$    zPopen._close_pipe_fdsc Cs~|dkr|dkr|dkrdSd\}}d\}}d\}} |dkrtttj}|dkrtdd\}} t|}t| nh|tkrtdd\}}t|t|}}n<|tkrt | }n$t |t rt |}nt | }||}|dkr*ttj}|dkrtdd\} }t|}t| nn|tkrXtdd\}}t|t|}}n@|tkrrt | }n&t |t rt |}nt | }||}|dkrttj} | dkrdtdd\} } t| } t| n~|tkrtdd\}} t|t| }} nP|tkr$|} n@|tkr>t | } n&t |t rVt |} nt | } || } |||||| fS)N)r[r[r[r[r[r[r[r[r)rNZ GetStdHandlerZ CreatePiperFrHrr rZ get_osfhandlerrrJfileno_make_inheritablerrr) r.rr5r-rrrrrr_r'r'r(rnst                        zPopen._get_handlescCs&tt|tddtj}t|S)Nrrs)rNZDuplicateHandleZGetCurrentProcessZDUPLICATE_SAME_ACCESSrF)r.handlehr'r'r(rszPopen._make_inheritablecCstdd|DS)NcSs,h|]$}|d@dks$t|tjkr|qS))rNZ GetFileTypeZFILE_TYPE_CHAR).0rr'r'r( s  z,Popen._filter_handle_list..)rE)r.rCr'r'r(_filter_handle_listszPopen._filter_handle_listcCszt|tr nNt|tr.| r"tdt|g}n,t|tjrR| rFtdt|g}nt|}|dk rlt|}|dkr|t}n| }d| ||fk}|r|j t j O_ | |_ ||_||_|j}t|od|ko|d}|s|r^|r^|dkri}|_t|dg}|d<|r0|t| t|t|g7}|||dd<|r^|sZtdtd}| r|j t jO_ t j|_|stjd}|stjdd }tj|d d }tj|st d tj|r|}n|}d !||}|dk rt|}t"#d||||z,t %||ddt| | ||| \}}}}W5|$| | | |||Xd|_&t'||_(||_)t *|dS)Nz$bytes args is not allowed on Windows0path-like args is not allowed when shell is truer[rCz?startupinfo.lpAttributeList['handle_list'] overriding close_fdsFZComSpecZ SystemRootrZSystem32zcmd.exez:shell not found: neither %ComSpec% nor %SystemRoot% is setz {} /c "{}"subprocess.PopenT)+rstrbytesrrrPathLikerr#rDr=rNrr>r?r@rBrrErrJrrrrrrrAenvironpathrisabsFileNotFoundErrorrrVauditrZ CreateProcessrrF_handlerrH)r.rcrrrrrrrrrrrrrrrZunused_restore_signalsZunused_start_new_sessionZuse_std_handlesZattribute_listZhave_handle_listrCZcomspecZ system_rootZhpZhtrtidr'r'r(rs             zPopen._execute_childcCs,|jdkr&||jd|kr&||j|_|jSNr)r*r()r.rSZ_WaitForSingleObjectZ_WAIT_OBJECT_0Z_GetExitCodeProcessr'r'r(rUHs  zPopen._internal_pollcCs^|dkrtj}n t|d}|jdkrXt|j|}|tjkrJt|j|t |j|_|jS)Ni) rNZINFINITErJr*WaitForSingleObjectr(Z WAIT_TIMEOUTrrcGetExitCodeProcess)r.r;Ztimeout_millisrr'r'r(rYs    z Popen._waitcCs|||dSr))rbrr)r.Zfhbufferr'r'r( _readerthreadiszPopen._readerthreadcCs\|jrBt|dsBg|_tj|j|j|jfd|_d|j_|j|j rt|dsg|_ tj|j|j |j fd|_ d|j _|j |j r| ||jdk r|j|||jrt|j||j dk r|j |||j rt|j|d}d}|jr|j}|j|j r0|j }|j |r>|dnd}|rP|dnd}||fS)N _stdout_buff)targetrcT _stderr_buffr)r5rr/rZThreadr.Z stdout_threadZdaemonstartr-r1Z stderr_threadrrrrZis_aliverrcr)r.rr r r5r-r'r'r(rnsJ             zPopen._communicatecCsl|jdk rdS|tjkr"|nF|tjkr>t|jtjn*|tjkrZt|jtjnt d |dS)NzUnsupported signal: {}) r*r0SIGTERM terminateZ CTRL_C_EVENTrrrZCTRL_BREAK_EVENTr1rr.Zsigr'r'r( send_signals     zPopen.send_signalcCsX|jdk rdSzt|jdWn2tk rRt|j}|tjkrH||_YnXdSr)r*rNZTerminateProcessr(PermissionErrorr,Z STILL_ACTIVE)r.Zrcr'r'r(r4s   zPopen.terminatec Cs,d\}}d\}}d\}} |dkr"n@|tkr8t\}}n*|tkrJ|}nt|trZ|}n|}|dkrln@|tkrt\}}n*|tkr|}nt|tr|}n|}|dkrnf|tkrt\}} nP|tkr|dkr|} n t j } n.|tkr|} nt|tr|} n|} |||||| fS)Nrr[) rrpiper rrrJrrrV __stdout__) r.rr5r-rrrrrrr'r'r(rsP        c Cs|dkrtj}i} |rJg} dD]"} tt| d}|dk r| |q| | d<g}||| fD]}|dkrX|tj|fqX|df|df| dffD]"\}}|dkr|tj||fq|r|| d<tj|||f| |_d|_ | ||||| | dS) N)SIGPIPEZSIGXFZSIGXFSZZ setsigdefr[rrsr file_actionsT) rr#ryr0rbPOSIX_SPAWN_CLOSEPOSIX_SPAWN_DUP2rrrr)r.rcrrrrrrrrrrZsigsetZsignameZsignumr<rZfd2r'r'r( _posix_spawns<   zPopen._posix_spawnc)st|ttfr|g}n(t|tjr6| r.td|g}nt|}| rlttdrPdnd}|dg|}rl|d<dkr||dt d|||t rtj r|dkr|s|s|dkr| dks| d kr|dks|d kr|dks|d kr|s| |||| | | ||| dS}t\}}g}|d krT||t|}q2|D]}t|qXzJz|dk rg}|D]>\}}t|}d |krtd ||d t|qnd}ttj rf}ntfd dt|D}t|}||t|||tttt|||| | | |||||||||_d|_W5t|X| | | | |||t!}t"|d}||7}|rt#|dkrqqW5t|X|rz6t$|jd\} }!| |jkr|%|!ntj&|_'Wnt(k rYnXz|)dd \}"}#}$|$*}$Wn,tk rbd}"d}#d+t|}$YnXt,t-|"*dt.}%t/|%t0r|#rt|#d}&|$dk}'|'rd}$|}(n|}(|&dkrt1|&}$|%|&|$|(|%|$dS)NrZgetandroidapilevelz/system/bin/shz/bin/shz-crrr[rr=z!illegal environment variable namec3s"|]}tjt|VqdSr))rr$rfsencode)rdirrr'r( rsz'Popen._execute_child..TiP:sSubprocessError0z#Bad exception data from child: {!r}asciiZnoexecr)2rr r!rr"rrErrVr'_USE_POSIX_SPAWNr$dirnamer?r8rbduprrxrAr1r get_exec_pathsetadd_posixsubprocessZ fork_execsortedrrJrrr bytearrayrrwaitpid_handle_exitstatusrWr*ChildProcessErrorrrrrybuiltinsr issubclassrstrerror))r.rcrrrrrrrrrrrrrrrrrZ unix_shellZorig_executableZ errpipe_readZ errpipe_writeZlow_fds_to_closeZlow_fdZenv_listkrhZexecutable_listZ fds_to_keepZ errpipe_datapartrr Zexception_nameZ hex_errnoerr_msgZchild_exception_typeZ errno_numZchild_exec_never_calledZ err_filenamer'rCr(r s"                              cCsL||r|| |_n2||r*|||_n||r@|| |_ntddS)NzUnknown child exit status!)r*r)r.r Z _WIFSIGNALEDZ _WTERMSIGZ _WIFEXITEDZ _WEXITSTATUSZ _WIFSTOPPEDZ _WSTOPSIGr'r'r(rSs zPopen._handle_exitstatusc Cs|jdkr|jdsdSzz>|jdk r4|jWWpS||j|\}}||jkrX||WnBtk r}z$|dk r|||_n|j|krd|_W5d}~XYnXW5|jX|jS)NFr)r*racquirereleaserrSrr)r.rSZ_waitpidZ_WNOHANGZ_ECHILDrr er'r'r(rUs       cCs>zt|j|\}}Wntk r4|j}d}YnX||fSr*)rrRrrT)r.Z wait_flagsrr r'r'r( _try_waits  zPopen._try_waitc Cs|jdk r|jS|dk rt|}d}|jdr~z>|jdk rDW0q|tj\}}||jkrn| |WqW5|jX| |}|dkrt |j |t |d|d}t|q&n\|jdkr|jB|jdk rW5QRq|d\}}||jkr | |W5QRXq|jS)NgMb@?Frrg?)r*rrr[r\r^rWNOHANGrrSrrrcrtimesleep)r.r;r Zdelayrr Z remainingr'r'r(rs6             c Cs"|jrX|jsXz|jWntk r.YnX|sXz|jWntk rVYnXd}d}|jsi|_|jr~g|j|j<|jrg|j|j<|jr|j|j}|jr|j|j}|||j rt |j }t }|jr|r| |jt j|jr|jjs| |jt j|jr6|jjs6| |jt j|r||}|dk rz|dkrz|j||||ddtd||} |||||| D]\} } | j|jkr6||j|jt} z|jt| j| 7_Wn,tk r || j| jYn*X|jt|j kr|| j| jnP| j|j|jfkrt| jd} | st|| j| j|j| j| qq6W5QRX|j ||d|dk rd!|}|dk rd!|}|j"r|dk r|#||jj$|jj%}|dk r|#||jj$|jj%}||fS)NrT)r zN_check_timeout(..., skip_check_and_raise=True) failed to raise TimeoutExpired.irr)&rrflushrrZ_fileobj2outputr5r- _save_inputr memoryview_PopenSelectorregister selectorsZ EVENT_WRITErGZ EVENT_READZget_maprr RuntimeErrorselectZfileobj _input_offset _PIPE_BUFrrrZ unregisterrrrbrrrrrr)r.rr r r5r-Z input_viewZselectorr;ZreadykeyZeventschunkrr'r'r(r's                  $      cCsF|jrB|jdkrBd|_||_|dk rB|jrB|j|jj|jj|_dSr*)rrrjrencoderr)r.rr'r'r(rcs zPopen._save_inputcCs|jdkrt|j|dSr))r*rrrr5r'r'r(r6s cCs|tjdSr))r6r0r3r2r'r'r(r4scCs|tjdSr))r6r0SIGKILLr2r'r'r(rsz Popen.kill)r[NNNNNTFNNNNrTFr')NN)F)N)7r$r%r&rr/r9rr:rrrrVrWrrrOrrrrrrrrrrrrrrNr+Z WAIT_OBJECT_0r,rUrr.rr6r4rr?r WIFSIGNALEDWTERMSIG WIFEXITED WEXITSTATUS WIFSTOPPEDWSTOPSIGrSrRr_rZECHILDr^rcr'r'r'r(rs.    D H  | 26'  # )f )GrUrrrr`r0rVrrrrr__all__rrNrModuleNotFoundErrorrOrirgrrrrrrrrrrrrrrrr r!r"r~ Exceptionrr rr#rJrFryrkrrPreZSelectSelectorrTrQrrr rdrrrr objectrr rrr rrIrr'r'r'r(,s  P  %      ;3" EI /