U e5džO ã @ sš d dl Z d dlZd dlZdddddddd d ddd ddddddgZeefZdd„ ZdBdd„ZdCdd„Z dd„ Z dd„ Ze dd¡Z e dd¡Zdd„ Zdd„ ZdZdadad d„ ZdDd!d „Zd"d „ ZdEd#d„Zdadad$Zd%ZdFd&d'„Zdd ddd(œd)d„Zddd*d+œd,d„Zd-Zda da!da"dGd.d„Z#d/d „ Z$d0Z%e%d1 d2 Z&d3d„ Z'd4d„ Z(d5d6„ Z)d7d„ Z*d8d9„ Z+d:d„ Z,d;d<„ Z-d=d>„ Z.d?d@„ Z/e0dAk�r–e.ƒ dS )Hé NÚencodeÚdecodeÚencodebytesÚdecodebytesÚ b64encodeÚ b64decodeÚ b32encodeÚ b32decodeÚ b16encodeÚ b16decodeÚ b85encodeÚ b85decodeÚ a85encodeÚ a85decodeÚstandard_b64encodeÚstandard_b64decodeÚurlsafe_b64encodeÚurlsafe_b64decodec C s| t | tƒr4z| d¡W S tk r2 tdƒ‚Y nX t | tƒrB| S zt| ƒ ¡ W S tk rv td| j j ƒd ‚Y nX d S )NÚasciiz4string argument should contain only ASCII charactersz>argument should be a bytes-like object or ASCII string, not %r)Ú isinstanceÚstrr ÚUnicodeEncodeErrorÚ ValueErrorÚbytes_typesÚ memoryviewÚtobytesÚ TypeErrorÚ __class__Ú__name__©Ús© r! ú/usr/lib64/python3.8/base64.pyÚ_bytes_from_decode_data" s ÿÿr# c C s, t j| dd�}|d k r(| t d|¡¡S |S )NF)Únewlineó +/)ÚbinasciiÚ b2a_base64Ú translateÚbytesÚ maketrans)r ÚaltcharsÚencodedr! r! r" r 3 s Fc C sN t | ƒ} |d k r*t |ƒ}| t |d¡¡} |rDt d| ¡sDt d¡‚t | ¡S )Nr% s [A-Za-z0-9+/]*={0,2}zNon-base64 digit found) r# r( r) r* ÚreÚ fullmatchr&