3 �k�Z� � @ s� d dl Z d dlZd dlZd dlmZ ddlmZmZmZm Z ddl mZmZm Z ddlmZmZmZmZ ddlmZmZmZmZ G dd � d e�Ze� ZejZejZejZejZejZdS ) � N)�Mapping� )� Algorithm�get_default_algorithms� has_crypto�requires_cryptography)�binary_type�string_types� text_type)�DecodeError�InvalidAlgorithmError�InvalidSignatureError�InvalidTokenError)�base64url_decode�base64url_encode�force_bytes� merge_dictc @ s| e Zd ZdZddd�Zedd� �Zdd� Zd d � Zdd� Z ddd�Z d dd�Zdd� Zdd� Z d!dd�Zdd� Zdd� ZdS )"�PyJWSZJWTNc C sj t � | _|d k rt|�nt| j�| _x(t| jj� �D ]}|| jkr4| j|= q4W |sVi }t| j� |�| _d S )N) r �_algorithms�set�_valid_algs�list�keysr �_get_default_options�options)�self� algorithmsr �key� r �/usr/lib/python3.6/api_jws.py�__init__ s zPyJWS.__init__c C s ddiS )N�verify_signatureTr r r r r r # s zPyJWS._get_default_optionsc C s>