o
    1)h(!                     @  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_p_fields_ r/   r/   PC:\Users\User\Downloads\Proyecto_IoT\venv\Lib\site-packages\click/_winconsole.pyr   W   s    r   Fr!   r   writableboolreturnArray[c_char]c              	   C  sZ   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"   from_addressr    PyBuffer_Release)r!   r1   r    flagsZbuffer_typer/   r/   r0   
get_bufferi   s   
r<   c                      s(   e Zd Zd
ddZd fdd	Z  ZS )_WindowsConsoleRawIOBasehandle
int | Noner3   Nonec                 C  s
   || _ d S r5   )r>   )selfr>   r/   r/   r0   __init__v      
z!_WindowsConsoleRawIOBase.__init__t.Literal[True]c                   s   t    dS NT)superisattyrA   	__class__r/   r0   rG   y   s   
z_WindowsConsoleRawIOBase.isatty)r>   r?   r3   r@   r3   rD   )r*   r+   r,   rB   rG   __classcell__r/   r/   rI   r0   r=   u   s    
r=   c                   @  s    e Zd ZdddZddd	Zd
S )_WindowsConsoleReaderr3   rD   c                 C     dS rE   r/   rH   r/   r/   r0   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)r1   g?zWindows error: )r"   
ValueErrorr<   r	   ReadConsoleWr   r>   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)rA   rQ   Zbytes_to_be_readbufferZcode_units_to_be_readZcode_units_readrvr/   r/   r0   readinto   s0   


z_WindowsConsoleReader.readintoNrK   rQ   r   r3   rR   )r*   r+   r,   rO   r^   r/   r/   r/   r0   rM   ~   s    
rM   c                   @  s.   e Zd ZdddZeddd	ZdddZdS )_WindowsConsoleWriterr3   rD   c                 C  rN   rE   r/   rH   r/   r/   r0   r1      rP   z_WindowsConsoleWriter.writableerrnorR   strc                 C  s"   | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rc   rd   )ra   r/   r/   r0   _get_error_message   s
   
z(_WindowsConsoleWriter._get_error_messagerQ   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   r[   rY   re   rU   )rA   rQ   Zbytes_to_be_writtenr    Zcode_units_to_be_writtenZcode_units_writtenZbytes_writtenr/   r/   r0   write   s   
z_WindowsConsoleWriter.writeNrK   )ra   rR   r3   rb   r_   )r*   r+   r,   r1   staticmethodre   ri   r/   r/   r/   r0   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.BinaryIOr3   r@   c                 C  s   || _ || _d S r5   )_text_streamr\   )rA   rl   rn   r/   r/   r0   rB      s   
zConsoleStream.__init__rb   c                 C  s   | j jS r5   )r\   namerH   r/   r/   r0   rq      s   zConsoleStream.namext.AnyStrrR   c                 C  sB   t |tr| j|S z|   W n	 ty   Y nw | j|S r5   )
isinstancerb   rp   ri   flush	Exceptionr\   )rA   rr   r/   r/   r0   ri      s   
zConsoleStream.writelinescabc.Iterable[t.AnyStr]c                 C  s   |D ]}|  | qd S r5   )ri   )rA   rw   liner/   r/   r0   
writelines   s   zConsoleStream.writelinesrq   t.Anyc                 C  s   t | j|S r5   )getattrrp   )rA   rq   r/   r/   r0   __getattr__   s   zConsoleStream.__getattr__r2   c                 C  s
   | j  S r5   )r\   rG   rH   r/   r/   r0   rG      rC   zConsoleStream.isattyc                 C  s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)rq   encodingrH   r/   r/   r0   __repr__   s   zConsoleStream.__repr__N)rl   rm   rn   ro   r3   r@   )r3   rb   )rr   rs   r3   rR   )rw   rx   r3   r@   )rq   rb   r3   r{   )r3   r2   )r*   r+   r,   rB   propertyrq   ri   rz   r}   rG   r   r/   r/   r/   r0   rk      s    


	

rk   buffer_streamro   rm   c                 C  .   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrM   STDIN_HANDLEtcastTextIOrk   r   rl   r/   r/   r0   _get_text_stdin      r   c                 C  r   r   )	r   r   BufferedWriterr`   STDOUT_HANDLEr   r   r   rk   r   r/   r/   r0   _get_text_stdout   r   r   c                 C  r   r   )	r   r   r   r`   STDERR_HANDLEr   r   r   rk   r   r/   r/   r0   _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   rY   r   UnsupportedOperationmsvcrtget_osfhandler2   GetConsoleModer   r   )r   r   r>   r/   r/   r0   _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>   r   N>   r   Nr\   )r<   r   r   getr   r|   )r   r   r   funcrQ   r/   r/   r0   _get_windows_console_stream  s   r   )F)r!   r   r1   r2   r3   r4   )r   ro   r3   rm   )r   rm   r3   r2   )r   rm   r   r   r   r   r3   r   )N
__future__r   collections.abcabcZcabcr   sysrW   typingr   ctypesr   r   r   r   r   r   r	   r
   r   r   r   Zctypes.wintypesr   r   r   r   Z_compatr   platformr   r   r   r-   kernel32GetStdHandlerT   rh   r   rU   r   shell32r   r   r   r   r   r7   r6   rc   rd   rV   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrZ   rg   TYPE_CHECKINGr   ImportErrorZtyping_extensionsr   r<   r   r8   r:   	RawIOBaser=   rM   r`   rk   r   r   r   r   __annotations__r   r   r/   r/   r/   r0   <module>   s   	# 
 




