3
ãdeb  ã               @   sÌ   d dl mZmZmZmZmZ ddlZddlZddlm	Z	m
Z
mZ ejdƒZG dd„ dejƒZG dd	„ d	ejƒZG d
d„ dejƒZG dd„ deejƒZG dd„ deejƒZeeej dœdd„Zejeƒ dS )é   )ÚencodeÚdecodeÚalabelÚulabelÚ	IDNAErroré    N)ÚAnyÚTupleÚOptionalu   [.ã€‚ï¼Žï½¡]c               @   sD   e Zd Zdeeeeef dœdd„Zd	eeeeef dœdd„ZdS )
ÚCodecÚstrict)ÚdataÚerrorsÚreturnc             C   s.   |dkrt dj|ƒƒ‚|sdS t|ƒt|ƒfS )Nr   zUnsupported error handling "{}"ó    r   )r   r   )r   Úformatr   Úlen)Úselfr   r   © r   úA/var/www/agendate/envp3/lib/python3.6/site-packages/idna/codec.pyr   
   s
    zCodec.encodec             C   s.   |dkrt dj|ƒƒ‚|sdS t|ƒt|ƒfS )Nr   zUnsupported error handling "{}"Ú r   )r   r   )r   r   r   r   )r   r   r   r   r   r   r      s
    zCodec.decodeN)r   )r   )	Ú__name__Ú
__module__Ú__qualname__Ústrr	   ÚbytesÚintr   r   r   r   r   r   r      s   	r   c               @   s(   e Zd Zeeeeeef dœdd„ZdS )ÚIncrementalEncoder)r   r   Úfinalr   c       
      C   s´   |dkrt dj|ƒƒ‚|sdS tj|ƒ}d}|rV|d sDd}|d	= n|sV|d
= |rVd}g }d}x2|D ]*}|jt|ƒƒ |r‚|d7 }|t|ƒ7 }qdW dj|ƒ| }	|t|ƒ7 }|	|fS )Nr   zUnsupported error handling "{}"r   r   r   ó   .)r   r   éÿÿÿÿr    r    )r   r   Ú_unicode_dots_reÚsplitÚappendr   r   Újoin)
r   r   r   r   ÚlabelsÚtrailing_dotÚresultÚsizeÚlabelZresult_bytesr   r   r   Ú_buffer_encode   s0    

z!IncrementalEncoder._buffer_encodeN)	r   r   r   r   Úboolr	   r   r   r*   r   r   r   r   r      s   r   c               @   s(   e Zd Zeeeeeef dœdd„ZdS )ÚIncrementalDecoder)r   r   r   r   c       
      C   sÈ   |dkrt dj|ƒƒ‚|sdS t|tƒs2t|dƒ}tj|ƒ}d}|rj|d	 sXd}|d
= n|sj|d= |rjd}g }d}x2|D ]*}|jt|ƒƒ |r–|d7 }|t|ƒ7 }qxW dj	|ƒ| }	|t|ƒ7 }|	|fS )Nr   zUnsupported error handling "{}"r   r   Úasciir   Ú.)r   r   r    r    r    )
r   r   Ú
isinstancer   r!   r"   r#   r   r   r$   )
r   r   r   r   r%   r&   r'   r(   r)   Z
result_strr   r   r   Ú_buffer_decode>   s4    



z!IncrementalDecoder._buffer_decodeN)	r   r   r   r   r   r+   r	   r   r0   r   r   r   r   r,   =   s   r,   c               @   s   e Zd ZdS )ÚStreamWriterN)r   r   r   r   r   r   r   r1   a   s   r1   c               @   s   e Zd ZdS )ÚStreamReaderN)r   r   r   r   r   r   r   r2   e   s   r2   )Únamer   c          	   C   s,   | dkrd S t j| tƒ jtƒ jttttd�S )NZidna2008)r3   r   r   ÚincrementalencoderÚincrementaldecoderÚstreamwriterÚstreamreader)	ÚcodecsÚ	CodecInfor   r   r   r   r,   r1   r2   )r3   r   r   r   Úsearch_functioni   s    r:   )Úcorer   r   r   r   r   r8   ÚreÚtypingr   r	   r
   Úcompiler!   r   ÚBufferedIncrementalEncoderr   ÚBufferedIncrementalDecoderr,   r1   r2   r   r9   r:   Úregisterr   r   r   r   Ú<module>   s   
!$