o
    L)jI                     @  s  U d dl mZ d dl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
Zd dlmZ d dlmZ e	jdZe	jdZe	jdkZdZded	< ed
Z		ddddZdddZdddZG dd dejZG d d! d!Zddd#d$Zddd%d&Z dd(d)Z!dd*d+Z"dd,d-Z#dd0d1Z$dd2d3Z%		ddd9d:Z&	ddd<d=Z'	ddd?d@Z(ddAdBZ)ddCdDZ*ddEdFZ+dddGdHZ,dddIdJZ-dddKdLZ.ddPdQZ/	R		S	dddXdYZ0G dZd[ d[Z1dd\d]Z2dd^d_Z3	dddcddZ4e	jdrerdedfl5m6Z6 ddgdhZ7e Z8diedj< dddkd	Zn
ddldhZ7ddodpZ6ddsdtZ9ddudvZ:dd{d|Z;e;d}d~ e,Z<e;dd~ e-Z=e;dd~ e.Z>e)e*e+dZ?ded< e,e-e.dZ@ded< dS )    )annotationsN)TracebackTypeWeakKeyDictionarycygwinwindarwinz't.Callable[[t.TextIO], t.TextIO] | Noneauto_wrap_for_ansiz\033\[[;?0-9]*[a-zA-Z]Fstream
t.BinaryIOencoding
str | Noneerrorsforce_readableboolforce_writablereturnt.TextIOc                 C  s0   |d u rt | }|d u rd}t| ||d||dS )NreplaceT)line_bufferingr   r   )get_best_encoding_NonClosingTextIOWrapper)r
   r   r   r   r    r   r/var/www/html/finance-dev.cargoinsureonline.com/_shared/backend-venv/lib/python3.10/site-packages/click/_compat.py_make_text_stream   s   r   strc                 C  s(   z	t | jdkW S  ty   Y dS w )z$Checks if a given encoding is ascii.asciiF)codecslookupnameLookupError)r   r   r   r   is_ascii_encoding)   s
   r!   t.IO[t.Any]c                 C  s$   t | ddp	t }t|rdS |S )z1Returns the default stream encoding if not found.r   Nzutf-8)getattrsysgetdefaultencodingr!   r
   rvr   r   r   r   1   s   r   c                      s8   e Zd Z		dd fddZdddZdddZ  ZS )r   Fr
   r   r   r   r   r   r   r   extrat.Anyr   Nonec                   s8   t t jt||| | _}t j|||fi | d S N)tcastBinaryIO_FixupStream_streamsuper__init__)selfr
   r   r   r   r   r(   	__class__r   r   r2   :   s   	
z!_NonClosingTextIOWrapper.__init__c                 C  s$   z|    W d S  ty   Y d S w r+   )detach	Exceptionr3   r   r   r   __del__H   s
   z _NonClosingTextIOWrapper.__del__c                 C  s
   | j  S r+   )r0   isattyr8   r   r   r   r:   N   s   
z_NonClosingTextIOWrapper.isattyFF)r
   r   r   r   r   r   r   r   r   r   r(   r)   r   r*   )r   r*   r   r   )__name__
__module____qualname__r2   r9   r:   __classcell__r   r   r4   r   r   9   s    
r   c                   @  sR   e Zd ZdZ		d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 )!r/   aQ  The new io interface needs more from streams than streams
    traditionally implement.  As such, this fix-up code is necessary in
    some circumstances.

    The forcing of readable and writable flags are there because some tools
    put badly patched objects on sys (one such offender are certain version
    of jupyter notebook).
    Fr
   r   r   r   r   c                 C  s   || _ || _|| _d S r+   )r0   _force_readable_force_writable)r3   r
   r   r   r   r   r   r2   ]   s   
z_FixupStream.__init__r   r   r   r)   c                 C     t | j|S r+   )r#   r0   r3   r   r   r   r   __getattr__g      z_FixupStream.__getattr__sizeintbytesc                 C  s2   t | jdd }|d urtt||S | j|S )Nread1)r#   r0   r,   r-   rI   read)r3   rG   fr   r   r   rJ   j   s   z_FixupStream.read1c                 C  sV   | j rdS t| jdd }|d urtt| S z	| jd W dS  ty*   Y dS w )NTreadabler   F)rA   r#   r0   r,   r-   r   rK   r7   r3   xr   r   r   rM   r   s   z_FixupStream.readablec                 C  s|   | j rdS t| jdd }|d urtt| S z	| jd W dS  ty=   z
| jd W Y dS  ty<   Y Y dS w w )NTwritable    F)rB   r#   r0   r,   r-   r   writer7   rN   r   r   r   rP   ~   s    z_FixupStream.writablec                 C  sR   t | jdd }|d urtt| S z| j| j  W dS  ty(   Y dS w )NseekableFT)r#   r0   r,   r-   r   seektellr7   rN   r   r   r   rS      s   z_FixupStream.seekableNr;   )r
   r   r   r   r   r   r   r   r   r)   )rG   rH   r   rI   r<   )
r=   r>   r?   __doc__r2   rE   rJ   rM   rP   rS   r   r   r   r   r/   S   s    




r/   defaultc                 C  s*   z	t | dtW S  ty   | Y S w Nr   )
isinstancerK   rI   r7   r
   rX   r   r   r   _is_binary_reader   s
   r\   c                 C  sL   z|  d W dS  ty%   z	|  d W Y dS  ty$   Y | Y S w w )NrQ    FT)rR   r7   r[   r   r   r   _is_binary_writer   s   
r^   t.BinaryIO | Nonec                 C  H   t | drttj| S t| dd }|d ur"t |dr"ttj|S d S NFbufferT)r\   r,   r-   r.   r#   r
   bufr   r   r   _find_binary_reader      
re   c                 C  r`   ra   )r^   r,   r-   r.   r#   rc   r   r   r   _find_binary_writer   rf   rg   c                 C  s   t t| ddpdS )z3A stream is misconfigured if its encoding is ASCII.r   Nr   )r!   r#   r
   r   r   r   _stream_is_misconfigured      ri   attrvaluec                 C  s$   t | |d}||kp|du o|duS )zA stream attribute is compatible if it is equal to the
    desired value or the desired value is unset and the attribute
    has a value.
    N)r#   )r
   rk   rl   stream_valuer   r   r   _is_compat_stream_attr   s   rn   c                 C  s   t | d|ot | d|S )zcCheck if a stream's encoding and errors attributes are
    compatible with the desired values.
    r   r   )rn   )r
   r   r   r   r   r   _is_compatible_text_stream   s
   
ro   text_stream	is_binary%t.Callable[[t.IO[t.Any], bool], bool]find_binary,t.Callable[[t.IO[t.Any]], t.BinaryIO | None]c           	      C  s~   || drt t j| }n#t t j| } t| ||r$|d u r"t| s$| S || }|d u r.| S |}|d u r6d}t|||||dS )NFr   )r   r   )r,   r-   r.   TextIOro   ri   r   )	rp   r   r   rq   rs   r   r   binary_readerpossible_binary_readerr   r   r   _force_correct_text_stream   s&   
	rx   text_readerc                 C     t | ||tt|dS )Nr   )rx   r\   re   )ry   r   r   r   r   r   r   _force_correct_text_reader     r|   text_writerc                 C  rz   )Nr   )rx   r^   rg   )r~   r   r   r   r   r   r   _force_correct_text_writer-  r}   r   c                  C     t tj} | d u rtd| S )Nz6Was not able to determine binary stream for sys.stdin.)re   r$   stdinRuntimeError)readerr   r   r   get_binary_stdin=     
r   c                  C  r   )Nz7Was not able to determine binary stream for sys.stdout.)rg   r$   stdoutr   writerr   r   r   get_binary_stdoutD  r   r   c                  C  r   )Nz7Was not able to determine binary stream for sys.stderr.)rg   r$   stderrr   r   r   r   r   get_binary_stderrK  r   r   c                 C  ,   t tj| |}|d ur|S ttj| |ddS )NTr{   )_get_windows_console_streamr$   r   r|   r   r   r'   r   r   r   get_text_stdinR     r   c                 C  r   NTr   )r   r$   r   r   r   r   r   r   get_text_stdoutY  r   r   c                 C  r   r   )r   r$   r   r   r   r   r   r   get_text_stderr`  r   r   filestr | os.PathLike[str] | intmodec                 C  s"   d|v r	t | |S t | |||dS )z?Handles not passing ``encoding`` and ``errors`` in binary mode.br   r   )open)r   r   r   r   r   r   r   _wrap_io_openg  s   
r   rstrictfilenamestr | os.PathLike[str]atomictuple[t.IO[t.Any], bool]c              
     s  d v }t | } t | dkr9t fdddD r*|r"t dfS t||ddfS |r1t dfS t||ddfS |sDt|  ||dfS d	 v rLt	d
d v rTt	dd vr\t	ddd l
}dd l}zt | j}W n tyw   d }Y nw t jt jB t jB }	|r|	tt ddO }		 t jt j| d|dd}
zt |
|	|d u rdn|}W n3 ty } z'|j
|jkst jdkr|j
|jkrt j|jrt |jt jrW Y d }~q d }~ww |d urt |
| t| ||}t ||
t j!| }t"#t"j$t"j% |dfS )Nr   -c                 3  s    | ]}| v V  qd S r+   r   ).0mr   r   r   	<genexpr>  s    zopen_stream.<locals>.<genexpr>)warO   Fr   Tr   zAppending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.rO   z&Use the `overwrite`-parameter instead.r   z,Atomic writes only make sense with `w`-mode.r   O_BINARYz.__atomic-writel        08xi  nt)&osfspathfsdecodeanyr   r   r   r   r   
ValueErrorerrnorandomstatst_modeOSErrorO_RDWRO_CREATO_EXCLr#   pathjoindirname	randranger   EEXISTr   EACCESisdirr   accessW_OKchmod_AtomicFilerealpathr,   r-   IOAny)r   r   r   r   r   binaryr   r   permflagstmp_filenamefderL   afr   r   r   open_streamt  sn   





r   c                   @  sX   e Zd Zd"dd	Zed#d
dZd$d%ddZd&ddZd'ddZd(ddZ	d#dd Z
d!S ))r   rL   r"   r   r   real_filenamer   r*   c                 C  s   || _ || _|| _d| _d S NF)_f_tmp_filename_real_filenameclosed)r3   rL   r   r   r   r   r   r2     s   
z_AtomicFile.__init__c                 C  s   | j S r+   )r   r8   r   r   r   r     s   z_AtomicFile.nameFdeleter   c                 C  s.   | j rd S | j  t| j| j d| _ d S )NT)r   r   closer   r   r   r   )r3   r   r   r   r   r     s
   

z_AtomicFile.closer   r)   c                 C  rC   r+   )r#   r   rD   r   r   r   rE     rF   z_AtomicFile.__getattr__c                 C  s   | S r+   r   r8   r   r   r   	__enter__  s   z_AtomicFile.__enter__exc_typetype[BaseException] | None	exc_valueBaseException | NonetbTracebackType | Nonec                 C  s   | j |d ud d S )N)r   )r   )r3   r   r   r   r   r   r   __exit__  rj   z_AtomicFile.__exit__c                 C  s
   t | jS r+   )reprr   r8   r   r   r   __repr__  s   
z_AtomicFile.__repr__N)rL   r"   r   r   r   r   r   r*   r   r   F)r   r   r   r*   rV   )r   r   )r   r   r   r   r   r   r   r*   )r=   r>   r?   r2   propertyr   r   rE   r   r   r   r   r   r   r   r     s    



r   c                 C  s   t d| S )Nr]   )_ansi_resub)rl   r   r   r   
strip_ansi  rF   r   c                 C  s0   t | ttfr| j} t | ttfs| jjdS )Nz
ipykernel.)rZ   r/   r   r0   r5   r>   
startswithrh   r   r   r   _is_jupyter_kernel_output  s   r   t.IO[t.Any] | Nonecolorbool | Nonec                 C  s@   |d u r| d u rt j} nt| drdS t|  ot|  S | S )Nr   F)r$   r   hasattrr:   r   )r
   r   r   r   r   should_strip_ansi  s   
r      )r   c                  C  s   dd l } |  S rY   )localegetpreferredencoding)r   r   r   r   _get_argv_encoding  s   r   z'cabc.MutableMapping[t.TextIO, t.TextIO]_ansi_stream_wrappersc                   s   zt | }W n ty   d}Y nw |dur|S ddl}t| |}|j| |dttjj	}|j
 d
 fdd	}||_
z|t | < W |S  tyP   Y |S w )zbSupport ANSI color and style codes on Windows by wrapping a
        stream with colorama.
        Nr   )stripsr   r   rH   c                   s$   z | W S  t y      w r+   )BaseException	reset_all)r   _writeansi_wrapperr   r   _safe_write"  s   
z'auto_wrap_for_ansi.<locals>._safe_write)r   r   r   rH   )r   getr7   coloramar   AnsiToWin32r,   r-   ru   r
   rR   )r
   r   cachedr   r   r'   r   r   r   r   r	     s*   

c                   C  s   t tjdd p
t S )Nr   )r#   r$   r   getfilesystemencodingr   r   r   r   r   4  s   rL   t.TextIO | Nonec                 C  s   d S r+   r   )rL   r   r   r   r   r   r   7  s   r   rO   rH   c                 C  s   t t| S r+   )lenr   )rO   r   r   r   term_len=  rF   r  c                 C  s    z|   W S  ty   Y dS w r   )r:   r7   rh   r   r   r   r:   A  s
   
r:   src_funct.Callable[[], t.TextIO | None]wrapper_funct.Callable[[], t.TextIO]c                   s   t   d fdd}|S )Nr   r   c                    sn    } | d u r	d S z  | }W n ty   d }Y nw |d ur"|S  }z| | < W |S  ty6   Y |S w r+   )r   r7   r&   cacher  r  r   r   funcN  s$   
z&_make_cached_stream_func.<locals>.func)r   r   r   )r  r  r	  r   r  r   _make_cached_stream_funcH  s   r
  c                   C     t jS r+   )r$   r   r   r   r   r   <lambda>d      r  c                   C  r  r+   )r$   r   r   r   r   r   r  e  r  c                   C  r  r+   )r$   r   r   r   r   r   r  f  r  )r   r   r   z-cabc.Mapping[str, t.Callable[[], t.BinaryIO]]binary_streamszAcabc.Mapping[str, t.Callable[[str | None, str | None], t.TextIO]]text_streamsr;   )r
   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   )r
   r"   r   r   r   )r
   r"   rX   r   r   r   )r
   r"   r   r_   )r
   r   r   r   )r
   r   rk   r   rl   r   r   r   )r
   r   r   r   r   r   r   r   )rp   r"   r   r   r   r   rq   rr   rs   rt   r   r   r   r   r   r   )
ry   r"   r   r   r   r   r   r   r   r   )
r~   r"   r   r   r   r   r   r   r   r   )r   r   )NN)r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r"   )r   Nr   F)r   r   r   r   r   r   r   r   r   r   r   r   )rl   r   r   r   )r
   r"   r   r   )r
   r   r   r   r   r   r   r+   )r
   r   r   r   r   r   )rL   r   r   r   r   r   r   r   )rO   r   r   rH   )r  r  r  r  r   r  )A
__future__r   r   collections.abcabccabcior   rer$   typingr,   typesr   weakrefr   platformr   CYGWINWINMACr	   __annotations__compiler   r   r!   r   TextIOWrapperr   r/   r\   r^   re   rg   ri   rn   ro   rx   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   _winconsoler   r   r   r  r:   r
  _default_text_stdin_default_text_stdout_default_text_stderrr  r  r   r   r   r   <module>   s    



E	



	
	2



Q
$


%



