
    Zh                     0   d dl mZmZmZmZmZ ddlZddlZ ej                  d      Z	 G d dej                        Z
 G d dej                        Z G d	 d
ej                        Z G d de
ej                        Z G d de
ej                         Zd Zy)   )encodedecodealabelulabel	IDNAError    Nu   [.。．｡]c                       e Zd ZddZddZy)Codecc                 r    |dk7  rt        dj                  |            |syt        |      t        |      fS Nstrict Unsupported error handling "{0}" r   )r   formatr   lenselfdataerrorss      Y/mounts/lovelace/software/anaconda3/envs/py312/lib/python3.12/site-packages/idna/codec.pyr   zCodec.encode	   s:    X@GGOPPd|SY&&    c                 r    |dk7  rt        dj                  |            |syt        |      t        |      fS r   )r   r   r   r   r   s      r   r   zCodec.decode   s:    X@GGOPPd|SY&&r   N)r   )__name__
__module____qualname__r   r    r   r   r
   r
      s    ''r   r
   c                       e Zd Zd Zy)IncrementalEncoderc                 `   |dk7  rt        dj                  |            |syt        j                  |      }d}|r|d   sd}|d= n	|s|d= |rd}g }d}|D ]1  }|j	                  t        |             |r|dz  }|t        |      z  }3 dj                  |      |z   }|t        |      z  }||fS )	Nr   r   r   r   .r   r   )r   r   _unicode_dots_resplitappendr   r   join	r   r   r   finallabelstrailing_dotresultsizelabels	            r   _buffer_encodez!IncrementalEncoder._buffer_encode   s    X@GGOPP!''-":"2J2J#&L 	EMM&-(	CJD		 &!L0L!!~r   N)r   r   r   r.   r   r   r   r   r      s    r   r   c                       e Zd Zd Zy)IncrementalDecoderc                    |dk7  rt        dj                  |            |syt        |t              rt        j                  |      }n(t        |      }t        |d       |j                  d      }d}|r|d   sd}|d= n	|s|d= |rd}g }d}|D ]1  }|j                  t        |             |r|d	z  }|t        |      z  }3 dj                  |      |z   }|t        |      z  }||fS )
Nr   r   r   asciir"   r   r!   r   r   )r   r   
isinstanceunicoder#   r$   strr%   r   r   r&   r'   s	            r   _buffer_decodez!IncrementalDecoder._buffer_decode?   s   X@GGOPP dG$%++D1F t9DD'"ZZ_F":#2J2J#'L 	EMM&-(	CJD		 6"\1L!!~r   N)r   r   r   r6   r   r   r   r0   r0   >   s    %r   r0   c                       e Zd Zy)StreamWriterNr   r   r   r   r   r   r8   r8   g       r   r8   c                       e Zd Zy)StreamReaderNr9   r   r   r   r<   r<   j   r:   r   r<   c            	          t        j                  dt               j                  t               j                  t
        t        t        t              S )Nidna)namer   r   incrementalencoderincrementaldecoderstreamwriterstreamreader)	codecs	CodecInfor
   r   r   r   r0   r8   r<   r   r   r   getregentryrF   m   s6    w~~w~~--!! r   )corer   r   r   r   r   rD   recompiler#   r
   BufferedIncrementalEncoderr   BufferedIncrementalDecoderr0   r8   r<   rF   r   r   r   <module>rL      s    ; ;  	2::;< 'FLL ',:: B&:: &R	5&-- 		5&-- 		r   