3
ãdezI  ã            
   @   sV  U 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mZ ej	j
dƒZej	j
dƒo^dejkZdejkozdejjdd	ƒkZej	j
dƒo’e o’e ZdZejejejgejf  ejd
ƒZedœdd„Zdlejeje eje eeejdœdd„Zeedœdd„Zejedœdd„ZG dd„ dej ƒZ!G dd„ dƒZ"dmejeedœdd„Z#dnejeedœdd „Z$ejejej dœd!d"„Z%ejejej dœd#d$„Z&ejedœd%d&„Z'ejeeje ed'œd(d)„Z(ejeje eje ed*œd+d,„Z)doejeje eje ejejegef ejejgejej f eeejd-œd.d/„Z*dpejeje eje eejd0œd1d2„Z+dqejeje eje eejd3œd4d5„Z,ejdœd6d7„Z-ejdœd8d9„Z.ejdœd:d;„Z/dreje eje ejd<œd=d>„Z0dseje eje ejd<œd?d@„Z1dteje eje ejd<œdAdB„Z2ej3eej4e5f eeje eje ejdCœdDdE„Z6dueeeje eje eej7ejef dHœdIdJ„Z8G dKdL„ dLƒZ9eedMœdNdO„Z:ejedœdPdQ„Z;dvejej eje edRœdSdT„Z<ej	j
dƒ�r<e�r<dUdVl=m>Z> edœdWdX„Z?eƒ Z@ejAejejf @dwejeje ejdRœdYdZ„Zn8edœd[dX„Z?ejeje eje ejej d\œd]d^„Z>ee5d_œd`da„ZBejedœdbdc„ZCejg ejf ejg ejf ejg ejf ddœdedf„ZDeDdgdh„ e0ƒZEeDdidh„ e1ƒZFeDdjdh„ e2ƒZGe-e.e/dkœZHejIeejg ejf f He0e1e2dkœZJejIeejeje eje gejf f JdS )xé    N)ÚWeakKeyDictionaryÚcygwinÚwinZGCCÚAPPENGINE_RUNTIMEzDevelopment/ÚSERVER_SOFTWAREÚ z\033\[[;?0-9]*[a-zA-Z])Úreturnc               C   s   t jƒ pt jƒ S )N)ÚsysÚgetfilesystemencodingÚgetdefaultencoding© r   r   úD/var/www/agendate/envp3/lib/python3.6/site-packages/click/_compat.pyÚget_filesystem_encoding   s    r   F)ÚstreamÚencodingÚerrorsÚforce_readableÚforce_writabler   c             C   s0   |d krt | ƒ}|d krd}t| ||d||d�S )NÚreplaceT)Úline_bufferingr   r   )Úget_best_encodingÚ_NonClosingTextIOWrapper)r   r   r   r   r   r   r   r   Ú_make_text_stream   s    r   )r   r   c             C   s*   yt j| ƒjdkS  tk
r$   dS X dS )z$Checks if a given encoding is ascii.ÚasciiFN)ÚcodecsÚlookupÚnameÚLookupError)r   r   r   r   Úis_ascii_encoding-   s    r   )r   r   c             C   s$   t | ddƒptjƒ }t|ƒr dS |S )z1Returns the default stream encoding if not found.r   Nzutf-8)Úgetattrr	   r   r   )r   Úrvr   r   r   r   5   s    r   c            	       s\   e Zd Zdejeje eje eeejddœ‡ fdd„Z	ddœdd„Z
edœd	d
„Z‡  ZS )r   FN)r   r   r   r   r   Úextrar   c                s4   t jt jt|||ƒƒ | _}tƒ j|||f|Ž d S )N)ÚtÚcastÚBinaryIOÚ_FixupStreamÚ_streamÚsuperÚ__init__)Úselfr   r   r   r   r   r!   )Ú	__class__r   r   r(   >   s    	z!_NonClosingTextIOWrapper.__init__)r   c             C   s&   y| j ƒ  W n tk
r    Y nX d S )N)ÚdetachÚ	Exception)r)   r   r   r   Ú__del__L   s    z _NonClosingTextIOWrapper.__del__c             C   s
   | j jƒ S )N)r&   Úisatty)r)   r   r   r   r.   R   s    z_NonClosingTextIOWrapper.isatty)FF)Ú__name__Ú
__module__Ú__qualname__r"   r$   ÚOptionalÚstrÚboolÚAnyr(   r-   r.   Ú__classcell__r   r   )r*   r   r   =   s    r   c               @   sr   e Zd ZdZdejeedœdd„Zeej	dœdd„Z
eed	œd
d„Zedœdd„Zedœdd„Ze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).
    F)r   r   r   c             C   s   || _ || _|| _d S )N)r&   Ú_force_readableÚ_force_writable)r)   r   r   r   r   r   r   r(   a   s    z_FixupStream.__init__)r   r   c             C   s   t | j|ƒS )N)r   r&   )r)   r   r   r   r   Ú__getattr__k   s    z_FixupStream.__getattr__)Úsizer   c             C   s2   t | jdd ƒ}|d k	r&tjt||ƒƒS | jj|ƒS )NÚread1)r   r&   r"   r#   ÚbytesÚread)r)   r:   Úfr   r   r   r;   n   s    z_FixupStream.read1)r   c             C   sX   | j r
dS t| jdd ƒ}|d k	r.tjt|ƒ ƒS y| jjdƒ W n tk
rR   dS X dS )NTÚreadabler   F)r7   r   r&   r"   r#   r4   r=   r,   )r)   Úxr   r   r   r?   v   s    z_FixupStream.readablec             C   s~   | j r
dS t| jdd ƒ}|d k	r.tjt|ƒ ƒS y| jjdƒ W n: tk
rx   y| jjdƒ W n tk
rr   dS X Y nX dS )NTÚwritabler   ó    F)r8   r   r&   r"   r#   r4   Úwriter,   )r)   r@   r   r   r   rA   ‚   s    z_FixupStream.writablec             C   sT   t | jdd ƒ}|d k	r$tjt|ƒ ƒS y| jj| jjƒ ƒ W n tk
rN   dS X dS )NÚseekableFT)r   r&   r"   r#   r4   ÚseekÚtellr,   )r)   r@   r   r   r   rD   ‘   s    z_FixupStream.seekableN)FF)r/   r0   r1   Ú__doc__r"   r$   r4   r(   r3   r5   r9   Úintr<   r;   r?   rA   rD   r   r   r   r   r%   W   s    r%   )r   Údefaultr   c             C   s*   yt | jdƒtƒS  tk
r$   |S X d S )Nr   )Ú
isinstancer=   r<   r,   )r   rI   r   r   r   Ú_is_binary_readerœ   s    rK   c             C   sL   y| j dƒ W n8 tk
rF   y| j dƒ dS  tk
r@   Y nX |S X dS )NrB   r   FT)rC   r,   )r   rI   r   r   r   Ú_is_binary_writer¥   s    
rL   c             C   sH   t | dƒrtjtj| ƒS t| dd ƒ}|d k	rDt |dƒrDtjtj|ƒS d S )NFÚbufferT)rK   r"   r#   r$   r   )r   Úbufr   r   r   Ú_find_binary_reader²   s    
rO   c             C   sH   t | dƒrtjtj| ƒS t| dd ƒ}|d k	rDt |dƒrDtjtj|ƒS d S )NFrM   T)rL   r"   r#   r$   r   )r   rN   r   r   r   Ú_find_binary_writerÄ   s    
rP   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Ö   s    rQ   )r   ÚattrÚvaluer   c             C   s$   t | |dƒ}||kp"|dko"|dk	S )zŽA 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   rR   rS   Zstream_valuer   r   r   Ú_is_compat_stream_attrß   s    rT   )r   r   r   r   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   )rT   )r   r   r   r   r   r   Ú_is_compatible_text_streamè   s    
rU   )Útext_streamr   r   Ú	is_binaryÚfind_binaryr   r   r   c       	      C   s€   || dƒrt jt j| ƒ}nHt jt j| ƒ} t| ||ƒrJ|d koBt| ƒ rJ| S || ƒ}|d kr^| S |}|d krnd}t|||||d�S )NFr   )r   r   )r"   r#   r$   ÚTextIOrU   rQ   r   )	rV   r   r   rW   rX   r   r   Zbinary_readerZpossible_binary_readerr   r   r   Ú_force_correct_text_streamó   s$    	
rZ   )Útext_readerr   r   r   r   c             C   s   t | ||tt|d�S )N)r   )rZ   rK   rO   )r[   r   r   r   r   r   r   Ú_force_correct_text_reader!  s    r\   )Útext_writerr   r   r   r   c             C   s   t | ||tt|d�S )N)r   )rZ   rL   rP   )r]   r   r   r   r   r   r   Ú_force_correct_text_writer1  s    r^   c              C   s   t tjƒ} | d krtdƒ‚| S )Nz6Was not able to determine binary stream for sys.stdin.)rO   r	   ÚstdinÚRuntimeError)Úreaderr   r   r   Úget_binary_stdinA  s    
rb   c              C   s   t tjƒ} | d krtdƒ‚| S )Nz7Was not able to determine binary stream for sys.stdout.)rP   r	   Ústdoutr`   )Úwriterr   r   r   Úget_binary_stdoutH  s    
re   c              C   s   t tjƒ} | d krtdƒ‚| S )Nz7Was not able to determine binary stream for sys.stderr.)rP   r	   Ústderrr`   )rd   r   r   r   Úget_binary_stderrO  s    
rg   )r   r   r   c             C   s,   t tj| |ƒ}|d k	r|S ttj| |dd�S )NT)r   )Ú_get_windows_console_streamr	   r_   r\   )r   r   r    r   r   r   Úget_text_stdinV  s    ri   c             C   s,   t tj| |ƒ}|d k	r|S ttj| |dd�S )NT)r   )rh   r	   rc   r^   )r   r   r    r   r   r   Úget_text_stdout_  s    rj   c             C   s,   t tj| |ƒ}|d k	r|S ttj| |dd�S )NT)r   )rh   r	   rf   r^   )r   r   r    r   r   r   Úget_text_stderrh  s    rk   )ÚfileÚmoder   r   r   c             C   s"   d|krt | |ƒS t | |||d�S )z?Handles not passing ``encoding`` and ``errors`` in binary mode.Úb)r   r   )Úopen)rl   rm   r   r   r   r   r   Ú_wrap_io_openq  s    
rp   ÚrÚstrict)Úfilenamerm   r   r   Úatomicr   c                s  dˆ k}t j| ƒdkrht‡ fdd„dD ƒƒrJ|r:tƒ dfS t||d	�dfS |rXtƒ dfS t||d	�dfS |s~t| ˆ ||ƒd
fS dˆ krŽtdƒ‚dˆ kržtdƒ‚dˆ kr®tdƒ‚dd l	}dd l
}yt j| ƒj}W n tk
ræ   d }Y nX t jt jB t jB }	|�r|	tt ddƒO }	xÂt jjt jj| ƒd|jdƒd›�ƒ}
y"t j|
|	|d k�rNdn|ƒ}P W nt tk
�rÌ } zV|j	|jk�s¶t jdk�rº|j	|jk�rºt jj|jƒ�rºt j|jt jƒ�rº�w‚ W Y d d }~X nX �qW |d k	�rêt j|
|ƒ t|ˆ ||ƒ}t||
t jj | ƒƒ}t!j"t!j#|ƒd
fS )Nrn   ú-c             3   s   | ]}|ˆ kV  qd S )Nr   )Ú.0Úm)rm   r   r   ú	<genexpr>Š  s    zopen_stream.<locals>.<genexpr>ÚwÚar@   F)r   r   TzÏAppending 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.z&Use the `overwrite`-parameter instead.z,Atomic writes only make sense with `w`-mode.r   ÚO_BINARYz.__atomic-writeé   é    Z08xi¶  Únt)ry   rz   r@   l        )$ÚosÚfsdecodeÚanyre   rj   rb   ri   rp   Ú
ValueErrorÚerrnoÚrandomÚstatÚst_modeÚOSErrorÚO_RDWRÚO_CREATÚO_EXCLr   ÚpathÚjoinÚdirnameÚ	randrangero   ÚEEXISTr   ÚEACCESÚisdirrs   ÚaccessÚW_OKÚchmodÚ_AtomicFileÚrealpathr"   r#   ÚIO)rs   rm   r   r   rt   Úbinaryrƒ   r„   ZpermÚflagsÚtmp_filenameÚfdÚer>   Úafr   )rm   r   Úopen_stream~  s^    




rž   c               @   s|   e Zd Zejeeddœdd„Zeedœdd„ƒZde	dd	œd
d„Z
eejdœdd„Zd dœdd„Zdd„ Zedœdd„ZdS )r•   N)r>   rš   Úreal_filenamer   c             C   s   || _ || _|| _d| _d S )NF)Ú_fÚ_tmp_filenameÚ_real_filenameÚclosed)r)   r>   rš   rŸ   r   r   r   r(   Ï  s    z_AtomicFile.__init__)r   c             C   s   | j S )N)r¢   )r)   r   r   r   r   Õ  s    z_AtomicFile.nameF)Údeleter   c             C   s.   | j r
d S | jjƒ  tj| j| jƒ d| _ d S )NT)r£   r    Úcloser   r   r¡   r¢   )r)   r¤   r   r   r   r¥   Ù  s
    
z_AtomicFile.close)r   r   c             C   s   t | j|ƒS )N)r   r    )r)   r   r   r   r   r9   à  s    z_AtomicFile.__getattr__c             C   s   | S )Nr   )r)   r   r   r   Ú	__enter__ã  s    z_AtomicFile.__enter__c             C   s   | j |d k	d� d S )N)r¤   )r¥   )r)   Úexc_typeÚ	exc_valueÚtbr   r   r   Ú__exit__æ  s    z_AtomicFile.__exit__c             C   s
   t | jƒS )N)Úreprr    )r)   r   r   r   Ú__repr__é  s    z_AtomicFile.__repr__)F)r/   r0   r1   r"   r—   r3   r(   Úpropertyr   r4   r¥   r5   r9   r¦   rª   r¬   r   r   r   r   r•   Î  s   r•   )rS   r   c             C   s   t jd| ƒS )Nr   )Ú_ansi_reÚsub)rS   r   r   r   Ú
strip_ansií  s    r°   c             C   s(   xt | ttfƒr| j} qW | jjjdƒS )Nz
ipykernel.)rJ   r%   r   r&   r*   r0   Ú
startswith)r   r   r   r   Ú_is_jupyter_kernel_outputñ  s    
r²   )r   Úcolorr   c             C   s0   |d kr*| d krt j} t| ƒ o(t| ƒ S | S )N)r	   r_   r.   r²   )r   r³   r   r   r   Úshould_strip_ansiø  s
    r´   r|   )rh   c              C   s   dd l } | jƒ S )Nr   )ÚlocaleÚgetpreferredencoding)rµ   r   r   r   Ú_get_argv_encoding  s    r·   c                s¤   yt j| ƒ}W n tk
r&   d}Y nX |dk	r4|S ddl}t| |ƒ}|j| |d�‰tjtjˆj	ƒ}|j
‰ ‡ ‡fdd„}||_
y|t | < W n tk
rž   Y nX |S )zbSupport ANSI color and style codes on Windows by wrapping a
        stream with colorama.
        Nr   )Ústripc                s,   yˆ | ƒS  t k
r&   ˆjƒ  ‚ Y nX d S )N)ÚBaseExceptionÚ	reset_all)Ús)Ú_writeÚansi_wrapperr   r   Ú_safe_write$  s
    z'auto_wrap_for_ansi.<locals>._safe_write)Ú_ansi_stream_wrappersÚgetr,   Úcoloramar´   ÚAnsiToWin32r"   r#   rY   r   rC   )r   r³   ÚcachedrÁ   r¸   r    r¾   r   )r¼   r½   r   Úauto_wrap_for_ansi  s$    

rÄ   c               C   s   t tjdd ƒptƒ S )Nr   )r   r	   r_   r   r   r   r   r   r·   6  s    )r>   r   r   r   c             C   s   d S )Nr   )r>   r   r   r   r   r   rh   9  s    rh   )r@   r   c             C   s   t t| ƒƒS )N)Úlenr°   )r@   r   r   r   Úterm_len?  s    rÆ   c             C   s"   y| j ƒ S  tk
r   dS X d S )NF)r.   r,   )r   r   r   r   r.   C  s    r.   )Úsrc_funcÚwrapper_funcr   c                s"   t ƒ ‰ tjdœ‡ ‡‡fdd„}|S )N)r   c                 sf   ˆƒ } yˆ j | ƒ}W n tk
r,   d }Y nX |d k	r:|S ˆƒ }y|ˆ | < W n tk
r`   Y nX |S )N)rÀ   r,   )r   r    )ÚcacherÇ   rÈ   r   r   ÚfuncO  s    
z&_make_cached_stream_func.<locals>.func)r   r"   rY   )rÇ   rÈ   rÊ   r   )rÉ   rÇ   rÈ   r   Ú_make_cached_stream_funcJ  s    rË   c               C   s   t jS )N)r	   r_   r   r   r   r   Ú<lambda>a  s    rÌ   c               C   s   t jS )N)r	   rc   r   r   r   r   rÌ   b  s    c               C   s   t jS )N)r	   rf   r   r   r   r   rÌ   c  s    )r_   rc   rf   )FF)F)F)FF)F)F)NN)NN)NN)rq   Nrr   F)NN)N)Kr   Úior   Úrer	   Útypingr"   Úweakrefr   Úplatformr±   ZCYGWINÚversionZMSYS2ÚenvironrÀ   Z
APP_ENGINEZWINrÄ   r2   ÚCallablerY   Úcompiler®   r3   r   r$   r4   r   r   r—   r   ÚTextIOWrapperr   r%   rK   rL   rO   rP   rQ   rT   rU   rZ   r\   r^   rb   re   rg   ri   rj   rk   ÚUnionÚPathLikerH   rp   ÚTuplerž   r•   r°   r²   r´   Z_winconsolerh   r·   r¿   ÚMutableMappingrÆ   r.   rË   Z_default_text_stdinZ_default_text_stdoutZ_default_text_stderrZbinary_streamsÚMappingZtext_streamsr   r   r   r   Ú<module>   s¦    

 E		
 D*
   J%"