
    ~h                     `    d dl Z d dlZd dlZddZddZddZd ZddZd Zd Z	d	 Z
d
 Zd Zy)    Nc                     | y t        | t              r| S t        | t              r| j                  ||      S t        | t        t
        f      rt        |       j                  ||      S t        |       S N)
isinstancebytesstrencodeintfloatxcharseterrorss      S/opt/mcp/mcp-sentiment/venv/lib/python3.12/site-packages/authlib/common/encoding.pyto_bytesr      s`    y!U!Sxx((!c5\"1v}}Wf--8O    c                     | t        | t              r| S t        | t              r| j                  ||      S t        |       S r   )r   r   r   decoder   s      r   
to_unicoder      s9    yJq#&!Uxx((q6Mr   c                 H    t        | t              r| S | j                  |      S r   )r   r   r   )r   encodings     r   	to_nativer      s     !S88Hr   c                 ,    t        j                  |       S r   )jsonloadsss    r   
json_loadsr       s    ::a=r   c                 2    t        j                  | |d      S )N),:)ensure_ascii
separators)r   dumps)datar!   s     r   
json_dumpsr%   $   s    ::d*MMr   c                 V    | dt        |        dz  z  z  } t        j                  |       S )N   =   )lenbase64urlsafe_b64decoder   s    r   r+   r+   (   s,    #a&1	A##A&&r   c                 J    t        j                  |       j                  d      S )Nr'   )r*   urlsafe_b64encoderstripr   s    r   r-   r-   -   s    ##A&--d33r   c           	          t        t        | d            }t        j                  t	        |       d|      }t        dj                  |D cg c]  }|d c}      d      S c c}w )Nascii)r   B 02x   )r+   r   structunpackr)   r	   join)r   r$   bufbytes       r   base64_to_intr:   1   sW    Xa9:D
--3t9+Q
.Crww#6$4*67<<6s   A$c                     | dk  rt        d      | j                  | j                         dz   dz  dd      }t        t	        |            S )Nr   zMust be a positive integer      bigF)signed)
ValueErrorr   
bit_lengthr   r-   )numr   s     r   int_to_base64rC   7   sK    
Qw566cnn&*q0%FA'*++r   c                 `    t        | t              rt        |       } t        t	        |             S r   )r   dictr%   r-   r   )texts    r   json_b64encoderG   ?   s%    $$Xd^,,r   )zutf-8strict)r0   )F)r*   r   r5   r   r   r   r   r%   r+   r-   r:   rC   rG    r   r   <module>rJ      sA      	N'
4=,-r   