;i ddlmZddlZddlZddlZddlZddlmZ dddZ ddZ ddZ ej ej ddZejdZejZejdejZddZddZdS) ) annotationsN)BadDatautf-8stricts str | bytesencodingstrerrorsreturnbytesc\t|tr|||}|S)N) isinstancer encode)rr r s IC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\itsdangerous/encoding.py want_bytesr s.!S' HHXv & & Hstringcnt|}tj|dS)z^Base64 encode a string of bytes or text. The resulting bytes are safe to use in URLs. =)rbase64urlsafe_b64encoderstrip)rs r base64_encoders0  F  #F + + 2 24 8 88rct|dd}|dt| dzzz } tj|S#tt f$r}t d|d}~wwxYw)zOBase64 decode a URL-safe string of bytes or text. The result is bytes. asciiignore)r r rzInvalid base64-encoded dataN)rlenrurlsafe_b64decode TypeError ValueErrorr)res r base64_decoder%s B B BF ds6{{lQ&''F<'/// z "<<<344!;Qzt.Callable[[bytes], tuple[int]]numintcFt|dS)N) _int_to_byteslstrip)r&s r int_to_bytesr,1s    $ $W - --rbytestrcTt|dddS)Nr)r) _bytes_to_intrjust)r-s r bytes_to_intr25s# q'22 3 3A 66r)rr)rr r r r r r r)rr r r)r&r'r r)r-rr r') __future__rrrstructtypingtexcrrrr% ascii_lettersdigitsr_base64_alphabetStruct _int64_structpackr*castunpackr0r,r2rrrAs""""""" FM>>>EEgNN d## " 8-:NOO ....777777r