o
    q>e                  	   @   s   d dl Z d dlZd dlZd dlZddlmZ ejee	f Z
	dde
deded	e	fd
dZde
d	e	fddZde
d	e	fddZej ej ddZedZejZedejZded	e	fddZde	d	efddZdS )    N   )BadDatautf-8strictsencodingerrorsreturnc                 C   s   t | tr| ||} | S )N)
isinstancestrencode)r   r   r    r   V/var/www/bmteknikk.ddns.net/venv/lib/python3.10/site-packages/itsdangerous/encoding.py
want_bytes   s   
r   stringc                 C   s   t | } t| dS )z^Base64 encode a string of bytes or text. The resulting bytes are
    safe to use in URLs.
       =)r   base64urlsafe_b64encoderstrip)r   r   r   r   base64_encode   s   r   c              
   C   sX   t | ddd} | dt|  d  7 } zt| W S  ttfy+ } ztd|d}~ww )zOBase64 decode a URL-safe string of bytes or text. The result is
    bytes.
    asciiignore)r   r   r      zInvalid base64-encoded dataN)r   lenr   urlsafe_b64decode	TypeError
ValueErrorr   )r   er   r   r   base64_decode   s   
r   z-_=r   z>Qz#_t.Callable[[bytes], _t.Tuple[int]]numc                 C   s   t | dS )N    )_int_to_byteslstrip)r   r   r   r   int_to_bytes1   s   r#   bytestrc                 C   s   t | ddd S )N   r    r   )_bytes_to_intrjust)r$   r   r   r   bytes_to_int5   s   r(   )r   r   )r   r   structtyping_texcr   Unionr   bytes_t_str_bytesr   r   r   ascii_lettersdigitsr   _base64_alphabetStruct_int64_structpackr!   castunpackr&   intr#   r(   r   r   r   r   <module>   s0    
	
