<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   sD  d  d l  Z  e  j d k r' e d   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	 Z	 d  d l
 Z
 d d d d d g Z d	 Z e j Z e j Z e j   Z e e d  r e j Z n e j e j d  d
 d  Z d d d d d e d d  Z Gd d   d  Z Gd d   d e j  Z d S)    Nwin32z
win32 only
socketpairpipePopenPIPE
PipeHandlei    c       
      C   sk  |  t  j k r d } n$ |  t  j k r0 d } n t d   | t  j k rW t d   | d k ro t d   t  j  |  | |  } z | j | d f  | j d  | j   d  d  \ } } t  j  |  | |  } yb | j d	  y | j	 | | f  Wn t
 t f k
 rYn X| j d
  | j   \ } }	 Wn | j     Yn XWd  | j   X| | f S)Nz	127.0.0.1z::1z?Only AF_INET and AF_INET6 socket address families are supportedz)Only SOCK_STREAM socket type is supportedr   zOnly protocol zero is supported      FT)socketAF_INETAF_INET6
ValueErrorSOCK_STREAMbindlistengetsocknamesetblockingconnectBlockingIOErrorInterruptedErroracceptclose)
familytypeprotohostZlsockaddrportZcsockZssock_ r   2/opt/alt/python35/lib64/python3.5/windows_utils.pyr   %   s8    		
duplexF
overlappedTbufsizec             C   s  t  j d d t j   t t  f  } |  rW t j } t j t j	 B} | | } } n t j
 } t j	 } d | } } | t j O} | d r | t j O} | d r t j } n d } d  }	 }
 y t j | | t j d | | t j t j  }	 t j | | d t j t j | t j  }
 t j |	 d d } | j d  |	 |
 f SWn= |	 d  k	 rft j |	  |
 d  k	 rt j |
    Yn Xd  S)Nprefixz\\.\pipe\python-pipe-%d-%d-r   r   r"   T)tempfilemktemposgetpidnext_mmap_counter_winapiZPIPE_ACCESS_DUPLEXZGENERIC_READZGENERIC_WRITEZPIPE_ACCESS_INBOUNDZFILE_FLAG_FIRST_PIPE_INSTANCEZFILE_FLAG_OVERLAPPEDZCreateNamedPipeZ	PIPE_WAITZNMPWAIT_WAIT_FOREVERZNULLZ
CreateFileZOPEN_EXISTINGZConnectNamedPipeZGetOverlappedResultCloseHandle)r!   r"   r#   addressZopenmodeaccessZobsizeZibsizeZflags_and_attribsZh1Zh2Zovr   r   r    r   S   s@    			


c               @   s   e  Z d  Z d d   Z d d   Z e d d    Z d d   Z d	 e j	 d
 d  Z
 d d   Z d d   Z d d   Z d S)r   c             C   s   | |  _  d  S)N)_handle)selfhandler   r   r    __init__   s    zPipeHandle.__init__c             C   s9   |  j  d  k	 r d |  j  } n d } d |  j j | f S)Nz	handle=%rclosedz<%s %s>)r/   	__class____name__)r0   r1   r   r   r    __repr__   s    zPipeHandle.__repr__c             C   s   |  j  S)N)r/   )r0   r   r   r    r1      s    zPipeHandle.handlec             C   s"   |  j  d  k r t d   |  j  S)NzI/O operatioon on closed pipe)r/   r   )r0   r   r   r    fileno   s    zPipeHandle.filenor,   c            C   s)   |  j  d  k	 r% | |  j   d  |  _  d  S)N)r/   )r0   r,   r   r   r    r      s    zPipeHandle.closec             C   s1   |  j  d  k	 r- t j d |  t  |  j   d  S)Nzunclosed %r)r/   warningswarnResourceWarningr   )r0   r   r   r    __del__   s    zPipeHandle.__del__c             C   s   |  S)Nr   )r0   r   r   r    	__enter__   s    zPipeHandle.__enter__c             C   s   |  j    d  S)N)r   )r0   tvtbr   r   r    __exit__   s    zPipeHandle.__exit__N)r5   
__module____qualname__r2   r6   propertyr1   r7   r+   r,   r   r;   r<   r@   r   r   r   r    r      s   c                   s+   e  Z d  Z d d d   f d d  Z   S)r   Nc                s   d  } } } d  }	 }
 } | t  k r[ t d d	 d d  \ } }	 t j | t j  } n | } | t  k r t d d
  \ }
 } t j | d  } n | } | t  k r t d d  \ } } t j | d  } n | t k r | } n | } z y) t   j | d | d | d | | Wn> x0 |	 |
 | f D] } | d  k	 r0t	 j
 |  q0W  YnR X|	 d  k	 rvt |	  |  _ |
 d  k	 rt |
  |  _ | d  k	 rt |  |  _ Wd  | t  k rt j |  | t  k rt j |  | t  k rt j |  Xd  S)Nr"   FTr!   r   stdinstdoutstderr)FT)TF)TF)r   r   msvcrtopen_osfhandler'   O_RDONLYSTDOUTsuperr2   r+   r,   r   rD   rE   rF   r   )r0   argsrD   rE   rF   kwdsZ	stdin_rfdZ
stdout_wfdZ
stderr_wfdZstdin_whZ	stdout_rhZ	stderr_rhZstdin_rhZ	stdout_whZ	stderr_whh)r4   r   r    r2      sH    	zPopen.__init__)r5   rA   rB   r2   r   r   )r4   r    r      s   )TT)sysplatformImportErrorr+   	itertoolsrG   r'   r
   
subprocessr%   r8   __all__BUFSIZEr   rJ   countr*   hasattrr   r   r   r   r   r   r   r   r   r    <module>   s*   		.0,