
     f              	          U 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 ej        dk    sJ 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Z*d Z+dZ,dZ-d Z.dZ/dZ0dZ1dZ2	 d d lm3Z3  G d! d"e          Z4e3j5        Z5e3j6        Z6d9d$Z7n# e8$ r dZ7Y nw xY w G d% d&e j9                  Z: G d' d(e:          Z; G d) d*e:          Z< G d+ d,          Z=d-ej>        d.ej?        fd/Z@d-ej>        d.ej?        fd0ZAd-ej>        d.ej?        fd1ZBe@eAeBd2ZCejD        eEejF        ej>        gej?        f         f         eGd3<   d4ej?        d.eHfd5ZId4ej?        d6ejJ        eK         d7ejJ        eK         d.ejJ        ej?                 fd8ZLdS ):    N)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  )	pythonapic                   T    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
suboffsetsinternalN)
__name__
__module____qualname__r	   r   r   r   r   	c_ssize_p_fields_     T/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/click/_winconsole.pyr   r   K   sl        HII#UOx i 	"9%"
r0   r   Fc                 b   t                      }|rt          nt          }t          t	          |           t          |          |           	 t          |j        z  }|                    |j	                  t          t          |                     S # t          t          |                     w xY wN)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   r   r!   from_addressr   PyBuffer_Release)r    writabler   flagsbuffer_types        r1   
get_bufferr<   ]   s    kk"*<9S>>5::u===	) 37*K++CG44U3ZZ((((U3ZZ((((s   (B B.c                   $     e Zd Zd Z fdZ xZS )_WindowsConsoleRawIOBasec                     || _         d S r3   )handle)selfr@   s     r1   __init__z!_WindowsConsoleRawIOBase.__init__j   s    r0   c                 H    t                                                       dS NT)superisatty)rA   	__class__s    r1   rF   z_WindowsConsoleRawIOBase.isattym   s    tr0   )r*   r+   r,   rB   rF   __classcell__)rG   s   @r1   r>   r>   i   sG                  r0   r>   c                       e Zd Zd Zd ZdS )_WindowsConsoleReaderc                     dS rD   r/   rA   s    r1   readablez_WindowsConsoleReader.readables       tr0   c                    t          |          }|sdS |dz  rt          d          t          |d          }|dz  }t                      }t	          t          | j                  ||t          |          d           }t                      t          k    rt          j        d           |st          dt                                 |d         t          k    rdS d|j        z  S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r9   g?zWindows error: )r!   
ValueErrorr<   r   ReadConsoleWr   r@   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)rA   bbytes_to_be_readbuffercode_units_to_be_readcode_units_readrvs          r1   readintoz_WindowsConsoleReader.readintov   s    q66 	1! 	P   A--- 0A 5!))4;!/""
 
 >>444JsOOO 	><LNN<<===!91?(((r0   N)r*   r+   r,   rM   r_   r/   r0   r1   rJ   rJ   r   s2          ) ) ) ) )r0   rJ   c                   0    e Zd Zd Zed             Zd ZdS )_WindowsConsoleWriterc                     dS rD   r/   rL   s    r1   r9   z_WindowsConsoleWriter.writable   rN   r0   c                 @    | t           k    rdS | t          k    rdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rd   re   )errnos    r1   _get_error_messagez(_WindowsConsoleWriter._get_error_message   s2    M!!"?---,,''''r0   c                 z   t          |          }t          |          }t          |t                    dz  }t	                      }t          t          | j                  ||t          |          d            d|j	        z  }|dk    r4|dk    r.t          |                     t                                          |S )Nr   r   )r!   r<   minMAX_BYTES_WRITTENr   WriteConsoleWr   r@   r   rX   rV   rg   rR   )rA   rY   bytes_to_be_writtenr   code_units_to_be_writtencode_units_writtenbytes_writtens          r1   writez_WindowsConsoleWriter.write   s    !!ffmm#&':<M#N#NRS#S $YY4;$$%%	
 	
 	
 .44A"5"9"9$11,..AABBBr0   N)r*   r+   r,   r9   staticmethodrg   rp   r/   r0   r1   ra   ra      sM           ( ( \(    r0   ra   c                       e Zd Zdej        dej        ddfdZedefd            Z	dej
        defdZd	ej        ej
                 ddfd
Zdedej        fdZdefdZd ZdS )ConsoleStreamtext_streambyte_streamreturnNc                 "    || _         || _        d S r3   )_text_streamr[   )rA   rt   ru   s      r1   rB   zConsoleStream.__init__   s    '!r0   c                     | j         j        S r3   )r[   namerL   s    r1   rz   zConsoleStream.name   s    {r0   xc                     t          |t                    r| j                            |          S 	 |                                  n# t
          $ r Y nw xY w| j                            |          S r3   )
isinstancestrrx   rp   flush	Exceptionr[   )rA   r{   s     r1   rp   zConsoleStream.write   su    a 	.$**1---	JJLLLL 	 	 	D	{  ###s   A 
AAlinesc                 :    |D ]}|                      |           d S r3   )rp   )rA   r   lines      r1   
writelineszConsoleStream.writelines   s0     	 	DJJt	 	r0   rz   c                 ,    t          | j        |          S r3   )getattrrx   )rA   rz   s     r1   __getattr__zConsoleStream.__getattr__   s    t($///r0   c                 4    | j                                         S r3   )r[   rF   rL   s    r1   rF   zConsoleStream.isatty   s    {!!###r0   c                 (    d| j         d| j        dS )Nz<ConsoleStream name=z
 encoding=>)rz   encodingrL   s    r1   __repr__zConsoleStream.__repr__   s    OdiOOT]OOOOr0   )r*   r+   r,   tTextIOBinaryIOrB   propertyr~   rz   AnyStrintrp   Iterabler   Anyr   boolrF   r   r/   r0   r1   rs   rs      s
       "AH "1: "$ " " " "  c       X $qx $C $ $ $ $
18 4     0 0 0 0 0 0$ $ $ $ $P P P P Pr0   rs   buffer_streamrv   c                     t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrJ   STDIN_HANDLEr   castr   rs   r   rt   s     r1   _get_text_stdinr      sV    *
/==>>	  K 6!(M+}EEFFFr0   c                     t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S r   )	r   r   BufferedWriterra   STDOUT_HANDLEr   r   r   rs   r   s     r1   _get_text_stdoutr      V    *
/>>??	  K 6!(M+}EEFFFr0   c                     t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S r   )	r   r   r   ra   STDERR_HANDLEr   r   r   rs   r   s     r1   _get_text_stderrr      r   r0   )r   r   r   _stream_factoriesfc           	          t          | d          sdS 	 |                                 }n# t          t          j        f$ r Y dS w xY wt          j        |          }t          t          |t          t                                                    S )NfilenoF)hasattrr   rV   r   UnsupportedOperationmsvcrtget_osfhandler   GetConsoleModer   r   )r   r   r@   s      r1   _is_consoler      s    1h uR,-   uu !&))FvuUWW~~66777s   ) AAr   errorsc                     t           e|dv rc|dv rat          |           rTt                              |                                           }|(t          | dd           }|d S  ||          S d S d S d S d S d S )N>   Nr   >   Nr   r[   )r<   r   r   getr   r   )r   r   r   funcrY   s        r1   _get_windows_console_streamr     s     	+++&&&NN ' !$$QXXZZ008T**Ayt477N 	++&&&& r0   )F)Mr   sysrT   typingr   ctypesr   r   r   r   r   r   r	   r
   r   r   ctypes.wintypesr   r   r   r   _compatr   platformr   r   r   r-   kernel32GetStdHandlerQ   rk   r   rR   r   shell32r   r   r   r   r   r5   r4   rd   re   rS   STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOrW   rj   r   r   r6   r8   r<   ImportError	RawIOBaser>   rJ   ra   rs   r   r   r   r   r   r   Mappingr   Callable__annotations__r   r   Optionalr~   r   r/   r0   r1   <module>r      s/   
				 



                                                                  ! ! ! ! ! ! " " " " " " # # # # # # " " " " " " - - - - - -
|w             GI	?$$&($%++f%%'8&/&JKKJ[['775>>JJ6>*   ,KK(++[&/,JKK	|C  S!!S!!   #)      
 
 
 
 
I 
 
 
 #5 1	) 	) 	) 	) 	)1     JJJH    r|    )  )  )  )  )4  )  )  )F    4   @P P P P P P P P@G1: G!( G G G GGAJ G18 G G G GGAJ G18 G G G G I I 19S!*aj\18-C"DDE   
818 
8 
8 
8 
8 
8x:c?45JsOZ     s   F F
F