<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]                 @   sj  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l m Z m Z d  d l m Z d d d d d d	 d
 d g Z	 e j
 e  j d  j d d    Z d d   Z Gd d   d e  Z e   Z d e e d  <d d   Z d d   Z d d   Z d d   Z d d	   Z d e d e i Z d d
   Z d e d e i Z d e d e i Z d d d d d  Z d S)    N)ascii_lettersdigits)errorsdecode_qencode_qdecode_bencode_blen_qlen_bdecodeencodes   =([a-fA-F0-9]{2})c             C   s   t  t |  j d  d  g  S)N      )bytesintgroup)m r   3/opt/alt/python35/lib64/python3.5/_encoded_words.py<lambda>A   s    r   c             C   s"   |  j  d d  }  t |   g  f S)N   _    )replace_q_byte_subber)encodedr   r   r   r   C   s    c               @   s<   e  Z d  Z d e j d  e j d  Z d d   Z d S)	_QByteMaps   -!*+/asciic             C   s=   | |  j  k r" t |  |  | <n d j |  |  | <|  | S)Nz={:02X})safechrformat)selfkeyr   r   r   __missing__M   s    z_QByteMap.__missing__N)__name__
__module____qualname__r   r   r   r   r"   r   r   r   r   r   I   s    r   _ c             C   s   d j  d d   |  D  S)N c             s   s   |  ] } t  | Vq d  S)N)_q_byte_map).0xr   r   r   	<genexpr>Z   s    zencode_q.<locals>.<genexpr>)join)bstringr   r   r   r   Y   s    c             C   s   t  d d   |  D  S)Nc             s   s   |  ] } t  t |  Vq d  S)N)lenr)   )r*   r+   r   r   r   r,   ]   s    zlen_q.<locals>.<genexpr>)sum)r.   r   r   r   r	   \   s    c             C   s  g  } t  |   d } | rJ | j t j    |  d d  d |  } n |  } y t j | d d | f SWn t j k
 rt j   g } xv d D]b } y% t j |  d	 | d d
 | f SWq t j k
 r | d k r | j t j    Yq Xq Wt	 d   Yn Xd  S)N   s   ===ZvalidateTr   r            =Fzunexpected binascii.Error)r   r   r2   r3   )
r/   appendr   ZInvalidBase64PaddingDefectbase64Z	b64decodebinasciiErrorZInvalidBase64CharactersDefectAssertionError)r   defectsZpad_errZpadded_encodedir   r   r   r   d   s"    %c             C   s   t  j |   j d  S)Nr   )r6   Z	b64encoder   )r.   r   r   r   r   ~   s    c             C   s3   t  t |   d  \ } } | d | r. d n d S)Nr3   r1   r   )divmodr/   )r.   Zgroups_of_3Zleftoverr   r   r   r
      s    qbc       	      C   s'  |  j  d  \ } } } } } | j d  \ } } } | j   } | j d d  } t | |  \ } } y | j |  } Wn t k
 r | j t j	 d j
 |    | j | d  } YnU t k
 r| j d d  } | j   d k r| j t j d j
 |    Yn X| | | | f S)N?*r   surrogateescapez:Encoded word contains bytes not decodable using {} charsetzunknown-8bitz<Unknown charset {} in encoded word; decoded as unknown bytes)split	partitionlowerr   _cte_decodersr   UnicodeErrorr5   r   ZUndecodableBytesDefectr   LookupErrorZCharsetError)	Zewr&   charsetZcteZ
cte_stringlangr.   r:   stringr   r   r   r      s"    zutf-8r(   c             C   s   | d k r! |  j  d d  } n |  j  |  } | d  k rx t d |  } t d |  } | | d k  rr d n d } t | |  } | r d | } d j | | | |  S)	Nzunknown-8bitr   rA   r=   r>      r@   z=?{}{}?{}?{}?=)r   _cte_encode_length_cte_encodersr   )rJ   rH   encodingrI   r.   ZqlenZblenr   r   r   r   r      s    
)rer6   r7   	functoolsrJ   r   r   Zemailr   __all__partialcompilesubr   r   dictr   r)   ordr   r	   r   r   r
   rE   r   rM   rL   r   r   r   r   r   <module>*   s@   		+