o
    8!mh!                     @  s  U d dl m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
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d d	l
mZ d d
l
mZ d dl
mZ d dl
mZ d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ejdksJ d dlZd dl
mZ d dl
m Z  eeZ!ej"Z"e"j#Z#e"j$Z$e"j%Z%e"j&Z&e"j'Z'e edej"fZ(e eeeeedej)fZ*e eedej"fZ+e#dZ,e#dZ-e#dZ.d Z/dZ0d Z1dZ2dZ3d Z4dZ5dZ6d Z7d!Z8e	j9r	zd d"lm:Z: W n e;y   d d"l<m:Z: Y nw zd d#l
m=Z= W n e;y   dZ>Y nw G d$d% d%eZ?e=j@Z@e=jAZAdLdMd-d.Z>G d/d0 d0ejBZCG d1d2 d2eCZDG d3d4 d4eCZEG d5d6 d6ZFdNd:d;ZGdNd<d=ZHdNd>d?ZIeGeHeId@ZJdAeKdB< dOdDdEZLdPdJdKZMdS )Q    )annotationsN)Array)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)	Structure)DWORD)HANDLE)LPCWSTR)LPWSTR   )_NonClosingTextIOWrapperwin32)windll)WINFUNCTYPEGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  )Buffer)	pythonapic                   @  sR   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefgZ	dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsZinternalN)
__name__
__module____qualname__r
   r   r   r   r   	c_ssize_pZ_fields_ r.   r.   ~/home/ubuntu/experiments/live_experiments/Pythonexperiments/flaskexp/venv310/lib/python3.10/site-packages/click/_winconsole.pyr   W   s    r   Fr!   r   writableboolreturnArray[c_char]c              	   C  s^   t  }|rtnt}tt| t|| zt|j }||j	}|W t
t| S t
t| w N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   r   r"   Zfrom_addressr    PyBuffer_Release)r!   r0   r    flagsZbuffer_typeoutr.   r.   r/   
get_bufferi   s   
r;   c                      s(   e Zd Zd
ddZd fdd	Z  ZS )_WindowsConsoleRawIOBasehandle
int | Noner2   Nonec                 C  s
   || _ d S r4   )r=   )selfr=   r.   r.   r/   __init__w      
z!_WindowsConsoleRawIOBase.__init__t.Literal[True]c                   s   t    dS NT)superisattyr@   	__class__r.   r/   rF   z   s   
z_WindowsConsoleRawIOBase.isatty)r=   r>   r2   r?   r2   rC   )r*   r+   r,   rA   rF   __classcell__r.   r.   rH   r/   r<   v   s    
r<   c                   @  s    e Zd ZdddZddd	Zd
S )_WindowsConsoleReaderr2   rC   c                 C     dS rD   r.   rG   r.   r.   r/   readable      z_WindowsConsoleReader.readablebr   intc                 C  s   t |}|sdS |d rtdt|dd}|d }t }tt| j||t|d }t t	kr4t
d |s>tdt  |d tkrFdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r0   g?zWindows error: )r"   
ValueErrorr;   r	   ReadConsoleWr   r=   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r@   rP   Zbytes_to_be_readbufferZcode_units_to_be_readZcode_units_readrvr.   r.   r/   readinto   s0   


z_WindowsConsoleReader.readintoNrJ   rP   r   r2   rQ   )r*   r+   r,   rN   r]   r.   r.   r.   r/   rL      s    
rL   c                   @  s.   e Zd ZdddZeddd	ZdddZdS )_WindowsConsoleWriterr2   rC   c                 C  rM   rD   r.   rG   r.   r.   r/   r0      rO   z_WindowsConsoleWriter.writableerrnorQ   strc                 C  s"   | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rb   rc   )r`   r.   r.   r/   _get_error_message   s
   
z(_WindowsConsoleWriter._get_error_messagerP   r   c                 C  sl   t |}t|}t|td }t }tt| j||t|d  d|j	 }|dkr4|dkr4t
| t |S )Nr   r   )r"   r;   minMAX_BYTES_WRITTENr	   WriteConsoleWr   r=   r   rZ   rX   rd   rT   )r@   rP   Zbytes_to_be_writtenr    Zcode_units_to_be_writtenZcode_units_writtenZbytes_writtenr.   r.   r/   write   s   
z_WindowsConsoleWriter.writeNrJ   )r`   rQ   r2   ra   r^   )r*   r+   r,   r0   staticmethodrd   rh   r.   r.   r.   r/   r_      s
    
r_   c                   @  sV   e Zd ZdddZed d
dZd!ddZd"ddZd#ddZd$ddZ	d ddZ
dS )%ConsoleStreamtext_streamt.TextIObyte_stream
t.BinaryIOr2   r?   c                 C  s   || _ || _d S r4   )_text_streamr[   )r@   rk   rm   r.   r.   r/   rA      s   
zConsoleStream.__init__ra   c                 C  s   | j jS r4   )r[   namerG   r.   r.   r/   rp      s   zConsoleStream.namext.AnyStrrQ   c                 C  sB   t |tr| j|S z|   W n	 ty   Y nw | j|S r4   )
isinstancera   ro   rh   flush	Exceptionr[   )r@   rq   r.   r.   r/   rh      s   
zConsoleStream.writelinescabc.Iterable[t.AnyStr]c                 C  s   |D ]}|  | qd S r4   )rh   )r@   rv   liner.   r.   r/   
writelines   s   zConsoleStream.writelinesrp   t.Anyc                 C  s   t | j|S r4   )getattrro   )r@   rp   r.   r.   r/   __getattr__   s   zConsoleStream.__getattr__r1   c                 C  s
   | j  S r4   )r[   rF   rG   r.   r.   r/   rF      rB   zConsoleStream.isattyc                 C  s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)rp   encodingrG   r.   r.   r/   __repr__   s   zConsoleStream.__repr__N)rk   rl   rm   rn   r2   r?   )r2   ra   )rq   rr   r2   rQ   )rv   rw   r2   r?   )rp   ra   r2   rz   )r2   r1   )r*   r+   r,   rA   propertyrp   rh   ry   r|   rF   r   r.   r.   r.   r/   rj      s    


	

rj   buffer_streamrn   rl   c                 C  .   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrL   STDIN_HANDLEtcastTextIOrj   r   rk   r.   r.   r/   _get_text_stdin      r   c                 C  r   r   )	r   r   BufferedWriterr_   STDOUT_HANDLEr   r   r   rj   r   r.   r.   r/   _get_text_stdout   r   r   c                 C  r   r   )	r   r   r   r_   STDERR_HANDLEr   r   r   rj   r   r.   r.   r/   _get_text_stderr   r   r   )r   r   r   z5cabc.Mapping[int, t.Callable[[t.BinaryIO], t.TextIO]]_stream_factoriesfc              	   C  sT   t | dsdS z|  }W n ttjfy   Y dS w t|}tt|t	t
 S )NfilenoF)hasattrr   rX   r   UnsupportedOperationmsvcrtZget_osfhandler1   GetConsoleModer   r   )r   r   r=   r.   r.   r/   _is_console  s   

r   r~   
str | Noneerrorst.TextIO | Nonec                 C  s^   t d u s|dvs|dvst| sd S t|  }|d u rd S t| dd }|d u r+d S ||S )N>   Nr   >   Nr   r[   )r;   r   r   getr   r{   )r   r~   r   funcrP   r.   r.   r/   _get_windows_console_stream  s   r   )F)r!   r   r0   r1   r2   r3   )r   rn   r2   rl   )r   rl   r2   r1   )r   rl   r~   r   r   r   r2   r   )N
__future__r   collections.abcabcZcabcr   sysrV   typingr   ctypesr   r   r   r   r   r   r	   r
   r   r   r   Zctypes.wintypesr   r   r   r   Z_compatr   platformr   r   r   r-   Zkernel32ZGetStdHandlerS   rg   r   rT   r   Zshell32r   r   r   r   r   r6   r5   rb   rc   rU   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrY   rf   TYPE_CHECKINGr   ImportErrortyping_extensionsr   r;   r   r7   r8   	RawIOBaser<   rL   r_   rj   r   r   r   r   __annotations__r   r   r.   r.   r.   r/   <module>   s   	# 
 




