HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/idna/__pycache__/codec.cpython-310.pyc
o

web
�@s�ddlmZmZmZmZmZddlZddlZddlm	Z	m
Z
mZe�d�Z
Gdd�dej�ZGdd	�d	ej�ZGd
d�dej�ZGdd
�d
eej�ZGdd�deej�Zdedeejfdd�Ze�e�dS)�)�encode�decode�alabel�ulabel�	IDNAError�N)�Any�Tuple�Optionalu[.。.。]c	@sLeZdZd
dededeeeffdd�Zd
dededeeeffdd�Zd	S)�Codec�strict�data�errors�returncC�.|dkrtd�|���|sdSt|�t|�fS)Nr�Unsupported error handling "{}"��r)r�formatr�len��selfr
r�r�C/home/arjun/projects/env/lib/python3.10/site-packages/idna/codec.pyr
�
zCodec.encodecCr)Nrr��r)rrrrrrrrrrzCodec.decodeN)r)	�__name__�
__module__�__qualname__�strr	�bytes�intrrrrrrrs $	rc
@s.eZdZdedededeeeffdd�ZdS)�IncrementalEncoderr
r�finalrc
Cs�|dkrtd�|���|sdSt�|�}d}|r+|ds"d}|d=n	|s+|d=|r+d}g}d}|D]}|�t|��|r@|d7}|t|�7}q1d�|�|}	|t|�7}|	|fS)	Nrrrr����.rr)rr�_unicode_dots_re�split�appendrr�join)
rr
rr$�labels�trailing_dot�result�size�label�result_bytesrrr�_buffer_encodes0
z!IncrementalEncoder._buffer_encodeN)	rrrr �boolr	r!r"r1rrrrr#�&r#c
@s.eZdZdedededeeeffdd�ZdS)�IncrementalDecoderr
rr$rc
Cs�|dkrtd�|���|sdSt|t�st|d�}t�|�}d}|r5|ds,d}|d=n	|s5|d=|r5d}g}d}|D]}|�t|��|rJ|d	7}|t|�7}q;d�	|�|}	|t|�7}|	|fS)
Nrrr�asciirr%�.rr)
rr�
isinstancer r'r(r)rrr*)
rr
rr$r+r,r-r.r/�
result_strrrr�_buffer_decode>s4


z!IncrementalDecoder._buffer_decodeN)	rrrrr r2r	r"r9rrrrr4=r3r4c@�eZdZdS)�StreamWriterN�rrrrrrrr;a�r;c@r:)�StreamReaderNr<rrrrr>er=r>�namerc	Cs,|dkrdStj|t�jt�jttttd�S)N�idna2008)r?rr�incrementalencoder�incrementaldecoder�streamwriter�streamreader)	�codecs�	CodecInforrrr#r4r;r>)r?rrr�search_functionis�rG)�corerrrrrrE�re�typingrr	r
�compiler'r�BufferedIncrementalEncoderr#�BufferedIncrementalDecoderr4r;r>r rFrG�registerrrrr�<module>s
!$