a
    u=ic.                     @   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
 e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jdddZdS )   )encodedecodealabelulabel	IDNAError    N)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||sdS t|t|fS )Nr   Unsupported error handling "{}")    r   )r   formatr   lenselfr   r    r   [/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/idna/codec.pyr   
   s
    zCodec.encodec                 C   s.   |dkrt d||sdS t|t|fS )Nr   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||sdS t|}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|t| |r|d7 }|t|7 }qbd|| }	|t|7 }|	|fS 	Nr   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_strr   r   r   _buffer_encode   s0    
z!IncrementalEncoder._buffer_encodeN)r   r   r   r   boolr   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 )IncrementalDecoderr    c           
      C   s   |dkrt d||sdS t|}d}|rV|d sDd}|d= n|sV|d= |rVd}g }d}|D ]*}|t| |r|d7 }|t|7 }qbd|| }	|t|7 }|	|fS r"   )r   r   r%   r&   r'   r   r   r(   r)   r   r   r   _buffer_decode>   s0    
z!IncrementalDecoder._buffer_decodeN)r   r   r   r   r0   r   r   r2   r   r   r   r   r1   =   s   r1   c                   @   s   e Zd ZdS )StreamWriterNr   r   r   r   r   r   r   r3   ^   s   r3   c                   @   s   e Zd ZdS )StreamReaderNr4   r   r   r   r   r5   b   s   r5   )r   c                	   C   s    t jdt jt jttttdS )Nidna)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInfor
   r   r   r   r1   r3   r5   r   r   r   r   getregentryf   s    r>   )corer   r   r   r   r   r<   retypingr   r	   compiler%   r
   BufferedIncrementalEncoderr   BufferedIncrementalDecoderr1   r3   r5   r=   r>   r   r   r   r   <module>   s   
!!