
    kKj                         d dl mZ ddlmZmZ ddlmZmZ ddlm	Z	m
Z
mZmZ g dZded	ed
edefdZded	ed
edefdZdedefdZdedeeef   fdZy)    )Any   )JWSAlgModelCompactSignature   )DecodeErrorMissingAlgorithmError)json_b64encodejson_b64decodeurlsafe_b64encodeurlsafe_b64decode)sign_compactverify_compactdetach_compact_contentdecode_headerobjalgkeyreturnc                     t        | j                               }t        | j                        }|dz   |z   }t        |j	                  ||            }|dz   |z   S )N   .)r
   headersr   payloadsign)r   r   r   header_segmentpayload_segmentsigning_input	signatures          i/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/joserfc/_rfc7515/compact.pyr   r      sT    #CKKM2N'4O"T)O;M!#((=#">?I4)++    c                     | j                   d   dz   | j                   d   z   }	 t        | j                   d         }|j	                  |||      S # t        t        f$ r Y yw xY w)Nheaderr   r   r   F)segmentsr   	TypeError
ValueErrorverify)r   r   r   r   sigs        r   r   r      si    LL*T1CLL4KKM[ 9: ::mS#.. z" s   A A! A!valuec                 P    | j                  d      }d|d<   dj                  |      S )N. r   )splitjoin)r(   partss     r   r   r   '   s'    KKEE!H88E?r    r   c                 x    	 t        |       }d|vr
t               	 |S # t        t        f$ r t	        d      w xY w)Nr   zInvalid header)r   r	   r$   r%   r   )r   	protecteds     r   r   r   .   sQ    ,$2>$B		!')) "  z" ,*++,s    9N)typingr   modelr   r   errorsr   r	   utilr
   r   r   r   __all__bytesr   boolr   strr   dictr    r    r   <module>r;      s     0 ,& ,[ ,s ,u ,/( /{ / / /# # % DcN r    