All classes:
- jwt.exceptions.PyJWTError
- jwt.exceptions.InvalidTokenError
- jwt.exceptions.DecodeError
- jwt.exceptions.InvalidSignatureError
- jwt.exceptions.ExpiredSignatureError
- jwt.exceptions.InvalidAudienceError
- jwt.exceptions.InvalidIssuerError
- jwt.exceptions.InvalidIssuedAtError
- jwt.exceptions.ImmatureSignatureError
- jwt.exceptions.InvalidKeyError
- jwt.exceptions.InvalidAlgorithmError
- jwt.exceptions.MissingRequiredClaimError
- jwt.exceptions.PyJWKError
- jwt.exceptions.MissingCryptographyError
- jwt.exceptions.PyJWKSetError
- jwt.exceptions.PyJWKClientError
- jwt.exceptions.PyJWKClientConnectionError
- jwt.exceptions.InvalidSubjectError
- jwt.exceptions.InvalidJTIError
- jwt.types.SigOptions
- jwt.types.Options
- jwt.types.FullOptions
- jwt.algorithms.Algorithm
- jwt.algorithms.NoneAlgorithm
- jwt.algorithms.HMACAlgorithm
- jwt.algorithms.RSAAlgorithm
- jwt.algorithms.ECAlgorithm
- jwt.algorithms.RSAPSSAlgorithm
- jwt.algorithms.OKPAlgorithm
- jwt.api_jwk.PyJWK
- jwt.api_jwk.PyJWKSet
- jwt.api_jwk.PyJWTSetWithTimestamp
- jwt.warnings.RemovedInPyjwt3Warning
- jwt.warnings.InsecureKeyLengthWarning
- jwt.api_jws.PyJWS
- jwt.api_jwt.PyJWT
- jwt.jwk_set_cache.JWKSetCache
- jwt.jwks_client.PyJWKClient
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_jwt'
    functionSourceFile: '...fuzz_jwt'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - '...fuzz_jwt.main'
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: '...fuzz_jwt.test_decoding'
    functionSourceFile: '...fuzz_jwt'
    functionUses: 1
    functionsReached:
    - fdp.ConsumeUnicodeNoSurrogates
    - atheris.FuzzedDataProvider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: '...fuzz_jwt.test_roundtrip'
    functionSourceFile: '...fuzz_jwt'
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - json.loads
    - fdp.ConsumeUnicodeNoSurrogates
    - atheris.FuzzedDataProvider
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.loads
    functionSourceFile: json
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: '...fuzz_jwt.TestOneInput'
    functionSourceFile: '...fuzz_jwt'
    functionUses: 0
    functionsReached:
    - '...fuzz_jwt.test_roundtrip'
    - json.loads
    - <builtin>.isinstance
    - atheris.FuzzedDataProvider
    - fdp.ConsumeUnicodeNoSurrogates
    - '...fuzz_jwt.test_decoding'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: '...fuzz_jwt.main'
    functionSourceFile: '...fuzz_jwt'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt
    functionSourceFile: jwt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: -1
    functionName: jwt.api_jwt
    functionSourceFile: jwt.api_jwt
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    - <builtin>.set
    - jwt.api_jwt.PyJWT._merge_options
    - jwt.api_jwt.PyJWT._get_sig_options
    - <builtin>.bool
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - jwt.api_jws.PyJWS._get_default_options
    - jwt.api_jws.PyJWS.__init__
    - jwt.api_jwt.PyJWT._get_default_options
    - os.getenv
    - <builtin>.list
    - jwt.algorithms.get_default_algorithms
    - options.get
    - jwt.api_jwt.PyJWT.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.getenv
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfb288e0>
    argNames:
    - self
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 49
    functionName: jwt.api_jwt.PyJWT.__init__
    functionSourceFile: jwt.api_jwt
    functionUses: 1
    functionsReached:
    - abc.ABC.__init__
    - jwt.api_jwt.PyJWT._merge_options
    - <builtin>.set
    - jwt.api_jwt.PyJWT._get_sig_options
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - jwt.api_jws.PyJWS._get_default_options
    - jwt.api_jws.PyJWS.__init__
    - jwt.api_jwt.PyJWT._get_default_options
    - <builtin>.list
    - jwt.algorithms.get_default_algorithms
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 58
    functionName: jwt.api_jwt.PyJWT._get_default_options
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf392ac0>
    argNames:
    - self
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 81
    functionName: jwt.api_jwt.PyJWT._merge_options
    functionSourceFile: jwt.api_jwt
    functionUses: 5
    functionsReached:
    - options.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: jwt.api_jwt.PyJWT._get_sig_options
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf2fa310>
    - <ast.Constant object at 0x7f50bf2fa1f0>
    argNames:
    - self
    - algorithms
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: jwt.api_jws.PyJWS.__init__
    functionSourceFile: jwt.api_jws
    functionUses: 3
    functionsReached:
    - abc.ABC.__init__
    - <builtin>.set
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - <builtin>.list
    - jwt.algorithms.get_default_algorithms
    - jwt.api_jws.PyJWS._get_default_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfb1baf0>
    - <ast.Constant object at 0x7f50bfb1b9d0>
    - <ast.Constant object at 0x7f50bfb1b0a0>
    - <ast.Constant object at 0x7f50bfb1b490>
    argNames:
    - self
    - payload
    - key
    - algorithm
    - headers
    - json_encoder
    - sort_headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 96
    functionName: jwt.api_jwt.PyJWT.encode
    functionSourceFile: jwt.api_jwt
    functionUses: 0
    functionsReached:
    - jwt.api_jws.PyJWS._validate_headers
    - alg_obj.sign
    - <builtin>.isinstance
    - payload.copy
    - jwt.api_jws.PyJWS._validate_kid
    - warnings.warn
    - header.update
    - segments.append
    - alg_obj.check_key_length
    - calendar.timegm
    - base64.urlsafe_b64encode
    - headers.get
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - encoded_string.decode
    - payload.get
    - alg_obj.prepare_key
    - json.dumps
    - jwt.api_jws.PyJWS.encode
    - jwt.utils.base64url_encode
    - jwt.api_jwt.PyJWT._encode_payload
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: payload.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: calendar.timegm
    functionSourceFile: calendar
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf2f8790>
    - <ast.Constant object at 0x7f50bf2f8a00>
    argNames:
    - self
    - payload
    - headers
    - json_encoder
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: jwt.api_jwt.PyJWT._encode_payload
    functionSourceFile: jwt.api_jwt
    functionUses: 1
    functionsReached:
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 6
    IfCount: 14
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf317a30>
    - <ast.Constant object at 0x7f50bf317a90>
    - <ast.Constant object at 0x7f50bf317640>
    - <ast.Constant object at 0x7f50bf317b20>
    - <ast.Constant object at 0x7f50bf317760>
    argNames:
    - self
    - payload
    - key
    - algorithm
    - headers
    - json_encoder
    - is_payload_detached
    - sort_headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 118
    functionName: jwt.api_jws.PyJWS.encode
    functionSourceFile: jwt.api_jws
    functionUses: 1
    functionsReached:
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - encoded_string.decode
    - header.update
    - jwt.api_jws.PyJWS._validate_headers
    - alg_obj.prepare_key
    - segments.append
    - alg_obj.check_key_length
    - json.dumps
    - alg_obj.sign
    - <builtin>.isinstance
    - jwt.utils.base64url_encode
    - jwt.api_jws.PyJWS._validate_kid
    - base64.urlsafe_b64encode
    - headers.get
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf488580>
    - <ast.Constant object at 0x7f50bf488640>
    - <ast.Constant object at 0x7f50bf4887c0>
    - <ast.Constant object at 0x7f50bf4889d0>
    - <ast.Constant object at 0x7f50bf488a30>
    - <ast.Constant object at 0x7f50bf4888b0>
    - <ast.Constant object at 0x7f50bf488a60>
    - <ast.Constant object at 0x7f50bf4886a0>
    - <ast.Constant object at 0x7f50bf488c10>
    argNames:
    - self
    - jwt
    - key
    - algorithms
    - options
    - verify
    - detached_payload
    - audience
    - issuer
    - subject
    - leeway
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 180
    functionName: jwt.api_jwt.PyJWT.decode_complete
    functionSourceFile: jwt.api_jwt
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - jwt.api_jwt.PyJWT._validate_jti
    - <builtin>.isinstance
    - <builtin>.len
    - options.get
    - warnings.warn
    - datetime.datetime.now
    - jwt.api_jwt.PyJWT._decode_payload
    - alg_obj.verify
    - json.loads
    - jwt.api_jwt.PyJWT._validate_exp
    - jwt.api_jwt.PyJWT._validate_iat
    - <builtin>.int
    - <builtin>.tuple
    - value.encode
    - jwt.encode
    - alg_obj.check_key_length
    - kwargs.keys
    - <builtin>.all
    - header.get
    - base64.urlsafe_b64decode
    - jwt.api_jws.PyJWS._load
    - signing_input.split
    - jwt.api_jwt.PyJWT._validate_sub
    - jwt.api_jwt.PyJWT._validate_nbf
    - jwt.api_jwt.PyJWT._validate_aud
    - jwt.api_jwt.PyJWT._merge_options
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - leeway.total_seconds
    - jwt.utils.base64url_decode
    - jwt.utils.force_bytes
    - jwt.rsplit
    - jwt.api_jwt.PyJWT._validate_iss
    - payload.get
    - alg_obj.prepare_key
    - jwt.api_jws.PyJWS.decode_complete
    - jwt.api_jwt.PyJWT._validate_claims
    - jwt.api_jwt.PyJWT._validate_required_claims
    - jwt.api_jws.PyJWS._verify_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.keys
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf39c9a0>
    - <ast.Constant object at 0x7f50bf39c730>
    - <ast.Constant object at 0x7f50bf39c940>
    - <ast.Constant object at 0x7f50bf39c5b0>
    argNames:
    - self
    - jwt
    - key
    - algorithms
    - options
    - detached_payload
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 203
    functionName: jwt.api_jws.PyJWS.decode_complete
    functionSourceFile: jwt.api_jws
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.len
    - warnings.warn
    - alg_obj.verify
    - json.loads
    - <builtin>.tuple
    - value.encode
    - alg_obj.check_key_length
    - kwargs.keys
    - header.get
    - base64.urlsafe_b64decode
    - signing_input.split
    - jwt.api_jws.PyJWS._load
    - jwt.utils.force_bytes
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - jwt.utils.base64url_decode
    - jwt.rsplit
    - alg_obj.prepare_key
    - jwt.encode
    - jwt.api_jws.PyJWS._verify_signature
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - decoded
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: jwt.api_jwt.PyJWT._decode_payload
    functionSourceFile: jwt.api_jwt
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - json.loads
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 8
    IfCount: 9
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf379a60>
    - <ast.Constant object at 0x7f50bf3799a0>
    - <ast.Constant object at 0x7f50bf3796d0>
    - <ast.Constant object at 0x7f50bf2dffd0>
    argNames:
    - self
    - payload
    - options
    - audience
    - issuer
    - subject
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 385
    functionName: jwt.api_jwt.PyJWT._validate_claims
    functionSourceFile: jwt.api_jwt
    functionUses: 3
    functionsReached:
    - jwt.api_jwt.PyJWT._validate_sub
    - jwt.api_jwt.PyJWT._validate_nbf
    - jwt.api_jwt.PyJWT._validate_aud
    - leeway.total_seconds
    - jwt.api_jwt.PyJWT._validate_iss
    - payload.get
    - <builtin>.any
    - jwt.api_jwt.PyJWT._validate_exp
    - jwt.api_jwt.PyJWT._validate_jti
    - <builtin>.isinstance
    - jwt.api_jwt.PyJWT._validate_required_claims
    - jwt.api_jwt.PyJWT._validate_iat
    - <builtin>.all
    - options.get
    - <builtin>.int
    - datetime.datetime.now
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfaeaa90>
    - <ast.Constant object at 0x7f50bfaead00>
    - <ast.Constant object at 0x7f50bfaeae80>
    - <ast.Constant object at 0x7f50bfaeae20>
    - <ast.Constant object at 0x7f50bfaea790>
    - <ast.Constant object at 0x7f50bfaea580>
    - <ast.Constant object at 0x7f50bfaea040>
    - <ast.Constant object at 0x7f50bfaea970>
    - <ast.Constant object at 0x7f50bfaeae50>
    argNames:
    - self
    - jwt
    - key
    - algorithms
    - options
    - verify
    - detached_payload
    - audience
    - subject
    - issuer
    - leeway
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 306
    functionName: jwt.api_jwt.PyJWT.decode
    functionSourceFile: jwt.api_jwt
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jwt.api_jwt.PyJWT._validate_jti
    - <builtin>.isinstance
    - <builtin>.len
    - options.get
    - warnings.warn
    - datetime.datetime.now
    - jwt.api_jwt.PyJWT._decode_payload
    - alg_obj.verify
    - json.loads
    - jwt.api_jwt.PyJWT._validate_exp
    - jwt.api_jwt.PyJWT._validate_iat
    - <builtin>.int
    - <builtin>.tuple
    - value.encode
    - jwt.encode
    - alg_obj.check_key_length
    - kwargs.keys
    - <builtin>.all
    - header.get
    - jwt.api_jwt.PyJWT.decode_complete
    - base64.urlsafe_b64decode
    - jwt.api_jws.PyJWS._load
    - signing_input.split
    - jwt.api_jwt.PyJWT._validate_sub
    - jwt.api_jwt.PyJWT._validate_nbf
    - jwt.api_jwt.PyJWT._merge_options
    - jwt.api_jwt.PyJWT._validate_aud
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - leeway.total_seconds
    - jwt.utils.base64url_decode
    - jwt.utils.force_bytes
    - jwt.rsplit
    - jwt.api_jwt.PyJWT._validate_iss
    - payload.get
    - typing.cast
    - alg_obj.prepare_key
    - jwt.api_jws.PyJWS.decode_complete
    - jwt.api_jwt.PyJWT._validate_claims
    - jwt.api_jwt.PyJWT._validate_required_claims
    - jwt.api_jws.PyJWS._verify_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: leeway.total_seconds
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - payload
    - claims
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 427
    functionName: jwt.api_jwt.PyJWT._validate_required_claims
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - payload.get
    linkageType: pythonLinkage
    raised:
    - MissingRequiredClaimError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.now
    functionSourceFile: datetime
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - payload
    - now
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 471
    functionName: jwt.api_jwt.PyJWT._validate_iat
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ImmatureSignatureError
    - InvalidIssuedAtError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - payload
    - now
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 486
    functionName: jwt.api_jwt.PyJWT._validate_nbf
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ImmatureSignatureError
    - DecodeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - payload
    - now
    - leeway
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 500
    functionName: jwt.api_jwt.PyJWT._validate_exp
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - DecodeError
    - ExpiredSignatureError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - payload
    - issuer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 566
    functionName: jwt.api_jwt.PyJWT._validate_iss
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - InvalidIssuerError
    - MissingRequiredClaimError
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 0
    IfCount: 12
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - payload
    - audience
    - strict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 516
    functionName: jwt.api_jwt.PyJWT._validate_aud
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.all
    - <builtin>.isinstance
    - <builtin>.any
    linkageType: pythonLinkage
    raised:
    - MissingRequiredClaimError
    - InvalidAudienceError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf317730>
    argNames:
    - self
    - payload
    - subject
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 436
    functionName: jwt.api_jwt.PyJWT._validate_sub
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - payload.get
    linkageType: pythonLinkage
    raised:
    - InvalidSubjectError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - payload
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 457
    functionName: jwt.api_jwt.PyJWT._validate_jti
    functionSourceFile: jwt.api_jwt
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - payload.get
    linkageType: pythonLinkage
    raised:
    - InvalidJTIError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.jwks_client
    functionSourceFile: jwt.jwks_client
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf47f070>
    - <ast.Constant object at 0x7f50bf47f760>
    - <ast.Constant object at 0x7f50bf47f0a0>
    - <ast.Constant object at 0x7f50bf47f460>
    - <ast.Constant object at 0x7f50bf47faf0>
    - <ast.Constant object at 0x7f50bf47f220>
    - <ast.Constant object at 0x7f50bf47f130>
    argNames:
    - self
    - uri
    - cache_keys
    - max_cached_keys
    - cache_jwk_set
    - lifespan
    - headers
    - timeout
    - ssl_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: jwt.jwks_client.PyJWKClient.__init__
    functionSourceFile: jwt.jwks_client
    functionUses: 0
    functionsReached:
    - jwt.jwk_set_cache.JWKSetCache.__init__
    - functools.lru_cache
    linkageType: pythonLinkage
    raised:
    - PyJWKClientError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - lifespan
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 8
    functionName: jwt.jwk_set_cache.JWKSetCache.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.lru_cache
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: jwt.jwks_client.PyJWKClient.fetch_data
    functionSourceFile: jwt.jwks_client
    functionUses: 3
    functionsReached:
    - time.monotonic
    - jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    - urllib.request.urlopen
    - json.load
    - jwt.jwk_set_cache.JWKSetCache.put
    - urllib.request.Request
    linkageType: pythonLinkage
    raised:
    - PyJWKClientConnectionError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.Request
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.request.urlopen
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.load
    functionSourceFile: json
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_set
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 12
    functionName: jwt.jwk_set_cache.JWKSetCache.put
    functionSourceFile: jwt.jwk_set_cache
    functionUses: 4
    functionsReached:
    - jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfac8a00>
    argNames:
    - self
    - refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 122
    functionName: jwt.jwks_client.PyJWKClient.get_jwk_set
    functionSourceFile: jwt.jwks_client
    functionUses: 2
    functionsReached:
    - jwt.algorithms.HMACAlgorithm.__init__
    - jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    - jwt.api_jwk.PyJWKSet.__init__
    - jwt.api_jwk.PyJWKSet.from_dict
    - <builtin>.isinstance
    - <builtin>.len
    - obj.get
    - json.load
    - jwt.algorithms.get_default_algorithms
    - jwt.jwk_set_cache.JWKSetCache.is_expired
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    - urllib.request.urlopen
    - default_algorithms.update
    - urllib.request.Request
    - abc.ABC.__init__
    - time.monotonic
    - jwt.jwks_client.PyJWKClient.fetch_data
    - jwt.jwk_set_cache.JWKSetCache.get
    - jwt.api_jwk.PyJWK.__init__
    - jwt.jwk_set_cache.JWKSetCache.put
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_jwk_set
    linkageType: pythonLinkage
    raised:
    - PyJWKClientError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: jwt.jwk_set_cache.JWKSetCache.get
    functionSourceFile: jwt.jwk_set_cache
    functionUses: 3
    functionsReached:
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    - time.monotonic
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_jwk_set
    - jwt.jwk_set_cache.JWKSetCache.is_expired
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 159
    functionName: jwt.api_jwk.PyJWKSet.from_dict
    functionSourceFile: jwt.api_jwk
    functionUses: 4
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - jwt.api_jwk.PyJWKSet.__init__
    - default_algorithms.update
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.api_jwk.PyJWK.__init__
    - jwt.algorithms.get_default_algorithms
    - obj.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf317b20>
    argNames:
    - self
    - refresh
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 145
    functionName: jwt.jwks_client.PyJWKClient.get_signing_keys
    functionSourceFile: jwt.jwks_client
    functionUses: 1
    functionsReached:
    - jwt.algorithms.HMACAlgorithm.__init__
    - jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    - jwt.api_jwk.PyJWKSet.__init__
    - jwt.api_jwk.PyJWKSet.from_dict
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.jwks_client.PyJWKClient.get_jwk_set
    - obj.get
    - json.load
    - jwt.algorithms.get_default_algorithms
    - jwt.jwk_set_cache.JWKSetCache.is_expired
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    - urllib.request.urlopen
    - default_algorithms.update
    - urllib.request.Request
    - abc.ABC.__init__
    - time.monotonic
    - jwt.jwks_client.PyJWKClient.fetch_data
    - jwt.jwk_set_cache.JWKSetCache.get
    - jwt.api_jwk.PyJWK.__init__
    - jwt.jwk_set_cache.JWKSetCache.put
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_jwk_set
    linkageType: pythonLinkage
    raised:
    - PyJWKClientError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 170
    functionName: jwt.jwks_client.PyJWKClient.get_signing_key
    functionSourceFile: jwt.jwks_client
    functionUses: 0
    functionsReached:
    - jwt.jwks_client.PyJWKClient.get_signing_keys
    - jwt.algorithms.HMACAlgorithm.__init__
    - jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    - jwt.api_jwk.PyJWKSet.__init__
    - jwt.api_jwk.PyJWKSet.from_dict
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.jwks_client.PyJWKClient.get_jwk_set
    - obj.get
    - json.load
    - jwt.algorithms.get_default_algorithms
    - jwt.jwk_set_cache.JWKSetCache.is_expired
    - jwt.jwks_client.PyJWKClient.match_kid
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    - urllib.request.urlopen
    - default_algorithms.update
    - urllib.request.Request
    - abc.ABC.__init__
    - time.monotonic
    - jwt.jwks_client.PyJWKClient.fetch_data
    - jwt.jwk_set_cache.JWKSetCache.get
    - jwt.api_jwk.PyJWK.__init__
    - jwt.jwk_set_cache.JWKSetCache.put
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_jwk_set
    linkageType: pythonLinkage
    raised:
    - PyJWKClientError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - signing_keys
    - kid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 214
    functionName: jwt.jwks_client.PyJWKClient.match_kid
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 198
    functionName: jwt.jwks_client.PyJWKClient.get_signing_key_from_jwt
    functionSourceFile: jwt.jwks_client
    functionUses: 0
    functionsReached:
    - <builtin>.any
    - jwt.api_jwt.PyJWT._validate_jti
    - <builtin>.isinstance
    - <builtin>.len
    - options.get
    - warnings.warn
    - datetime.datetime.now
    - jwt.api_jwt.PyJWT._decode_payload
    - alg_obj.verify
    - json.loads
    - jwt.api_jwt.PyJWT._validate_exp
    - jwt.api_jwt.PyJWT._validate_iat
    - <builtin>.int
    - <builtin>.tuple
    - value.encode
    - jwt.encode
    - alg_obj.check_key_length
    - kwargs.keys
    - <builtin>.all
    - header.get
    - jwt.api_jwt.PyJWT.decode_complete
    - base64.urlsafe_b64decode
    - jwt.api_jws.PyJWS._load
    - signing_input.split
    - jwt.api_jwt.PyJWT._validate_sub
    - jwt.api_jwt.PyJWT._validate_nbf
    - jwt.api_jwt.PyJWT._validate_aud
    - jwt.api_jwt.PyJWT._merge_options
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - leeway.total_seconds
    - jwt.utils.base64url_decode
    - jwt.utils.force_bytes
    - jwt.rsplit
    - jwt.api_jwt.PyJWT._validate_iss
    - payload.get
    - alg_obj.prepare_key
    - jwt.api_jws.PyJWS.decode_complete
    - jwt.api_jwt.PyJWT._validate_claims
    - jwt.api_jwt.PyJWT._validate_required_claims
    - jwt.api_jws.PyJWS._verify_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.get
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.jwk_set_cache
    functionSourceFile: jwt.jwk_set_cache
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_set
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 179
    functionName: jwt.api_jwk.PyJWTSetWithTimestamp.__init__
    functionSourceFile: jwt.api_jwk
    functionUses: 5
    functionsReached:
    - time.monotonic
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jwt.jwk_set_cache.JWKSetCache.is_expired
    functionSourceFile: jwt.jwk_set_cache
    functionUses: 4
    functionsReached:
    - time.monotonic
    - jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 183
    functionName: jwt.api_jwk.PyJWTSetWithTimestamp.get_jwk_set
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.monotonic
    functionSourceFile: time
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 186
    functionName: jwt.api_jwk.PyJWTSetWithTimestamp.get_timestamp
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.api_jwk
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 1
    IfCount: 15
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfb289d0>
    argNames:
    - self
    - jwk_data
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 20
    functionName: jwt.api_jwk.PyJWK.__init__
    functionSourceFile: jwt.api_jwk
    functionUses: 8
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - <builtin>.isinstance
    - jwt.algorithms.get_default_algorithms
    linkageType: pythonLinkage
    raised:
    - PyJWKError
    - InvalidKeyError
    - MissingCryptographyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: jwt.algorithms.get_default_algorithms
    functionSourceFile: jwt.algorithms
    functionUses: 13
    functionsReached:
    - abc.ABC.__init__
    - default_algorithms.update
    - jwt.algorithms.HMACAlgorithm.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfb1b9d0>
    argNames:
    - obj
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: jwt.api_jwk.PyJWK.from_dict
    functionSourceFile: jwt.api_jwk
    functionUses: 1
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - <builtin>.isinstance
    - jwt.api_jwk.PyJWK.__init__
    - jwt.algorithms.get_default_algorithms
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfb1b070>
    argNames:
    - data
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 96
    functionName: jwt.api_jwk.PyJWK.from_json
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - json.loads
    - <builtin>.isinstance
    - jwt.api_jwk.PyJWK.__init__
    - jwt.algorithms.get_default_algorithms
    - jwt.api_jwk.PyJWK.from_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 110
    functionName: jwt.api_jwk.PyJWK.key_type
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 118
    functionName: jwt.api_jwk.PyJWK.key_id
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 126
    functionName: jwt.api_jwk.PyJWK.public_key_use
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 135
    functionName: jwt.api_jwk.PyJWKSet.__init__
    functionSourceFile: jwt.api_jwk
    functionUses: 5
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.api_jwk.PyJWK.__init__
    - jwt.algorithms.get_default_algorithms
    linkageType: pythonLinkage
    raised:
    - PyJWKSetError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 164
    functionName: jwt.api_jwk.PyJWKSet.from_json
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    - jwt.algorithms.HMACAlgorithm.__init__
    - jwt.api_jwk.PyJWKSet.__init__
    - json.loads
    - default_algorithms.update
    - jwt.api_jwk.PyJWKSet.from_dict
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.api_jwk.PyJWK.__init__
    - jwt.algorithms.get_default_algorithms
    - obj.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: jwt.api_jwk.PyJWKSet.__getitem__
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 174
    functionName: jwt.api_jwk.PyJWKSet.__iter__
    functionSourceFile: jwt.api_jwk
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.iter
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - os.getenv
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.__init__
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hash_alg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 339
    functionName: jwt.algorithms.HMACAlgorithm.__init__
    functionSourceFile: ''
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_algorithms.update
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - bytestr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: jwt.algorithms.Algorithm.compute_hash_digest
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.backends.default_backend
    - <builtin>.issubclass
    - <builtin>.isinstance
    - digest.update
    - <builtin>.bytes
    - digest.finalize
    - <builtin>.getattr
    - cryptography.hazmat.primitives.hashes.Hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.backends.default_backend
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.Hash
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: digest.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: digest.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: jwt.algorithms.Algorithm.check_crypto_key_type
    functionSourceFile: jwt.algorithms
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms.Algorithm
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - typing.overload
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 245
    functionName: jwt.algorithms.Algorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 252
    functionName: jwt.algorithms.Algorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 259
    functionName: jwt.algorithms.Algorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.overload
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bfac2d90>
    argNames:
    - key_obj
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: jwt.algorithms.Algorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 286
    functionName: jwt.algorithms.Algorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 291
    functionName: jwt.algorithms.Algorithm.check_key_length
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 305
    functionName: jwt.algorithms.NoneAlgorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 314
    functionName: jwt.algorithms.NoneAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 317
    functionName: jwt.algorithms.NoneAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf860f70>
    argNames:
    - key_obj
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 321
    functionName: jwt.algorithms.NoneAlgorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 325
    functionName: jwt.algorithms.NoneAlgorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 342
    functionName: jwt.algorithms.HMACAlgorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - <builtin>.bool
    - value.encode
    - _PEM_RE.search
    - <builtin>.isinstance
    - key.startswith
    - jwt.utils.is_ssh_key
    - jwt.utils.is_pem_format
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: jwt.utils.force_bytes
    functionSourceFile: jwt.utils
    functionUses: 18
    functionsReached:
    - <builtin>.isinstance
    - value.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: jwt.utils.is_pem_format
    functionSourceFile: jwt.utils
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - _PEM_RE.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: jwt.utils.is_ssh_key
    functionSourceFile: jwt.utils
    functionUses: 1
    functionsReached:
    - key.startswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms.HMACAlgorithm
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf865e20>
    argNames:
    - key_obj
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 362
    functionName: jwt.algorithms.HMACAlgorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - value.encode
    - json.dumps
    - <builtin>.isinstance
    - jwt.utils.base64url_encode
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: jwt.utils.base64url_encode
    functionSourceFile: jwt.utils
    functionUses: 7
    functionsReached:
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 374
    functionName: jwt.algorithms.HMACAlgorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - value.encode
    - json.loads
    - <builtin>.isinstance
    - <builtin>.len
    - obj.get
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 25
    functionName: jwt.utils.base64url_decode
    functionSourceFile: jwt.utils
    functionUses: 12
    functionsReached:
    - jwt.utils.force_bytes
    - value.encode
    - <builtin>.isinstance
    - <builtin>.len
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 390
    functionName: jwt.algorithms.HMACAlgorithm.check_key_length
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - abc.ABC.SHA256
    - <builtin>.len
    - abc.ABC.SHA512
    - abc.ABC.SHA384
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.SHA256
    functionSourceFile: abc
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.SHA512
    functionSourceFile: abc
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.SHA384
    functionSourceFile: abc
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: jwt.algorithms.HMACAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 1
    functionsReached:
    - hmac.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.new
    functionSourceFile: hmac
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 404
    functionName: jwt.algorithms.HMACAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - hmac.compare_digest
    - jwt.algorithms.HMACAlgorithm.sign
    - hmac.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.compare_digest
    functionSourceFile: hmac
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - hash_alg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 423
    functionName: jwt.algorithms.RSAAlgorithm.__init__
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 426
    functionName: jwt.algorithms.RSAAlgorithm.check_key_length
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 435
    functionName: jwt.algorithms.RSAAlgorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - value.encode
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_ssh_public_key
    - key_bytes.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - typing.cast
    - <builtin>.isinstance
    - jwt.algorithms.Algorithm.check_crypto_key_type
    linkageType: pythonLinkage
    raised:
    - TypeError
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_bytes.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_ssh_public_key
    functionSourceFile: cryptography
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key
    functionSourceFile: cryptography
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key
    functionSourceFile: cryptography
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms.RSAAlgorithm
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf46ffd0>
    argNames:
    - key_obj
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 474
    functionName: jwt.algorithms.RSAAlgorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.bytes_from_int
    - <builtin>.hasattr
    - val.to_bytes
    - key_obj.private_numbers
    - jwt.utils.to_base64url_uint
    - val.bit_length
    - json.dumps
    - <builtin>.len
    - jwt.utils.base64url_encode
    - base64.urlsafe_b64encode
    - key_obj.public_numbers
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_obj.private_numbers
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - val
    - bit_length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: jwt.utils.to_base64url_uint
    functionSourceFile: jwt.utils
    functionUses: 2
    functionsReached:
    - jwt.utils.bytes_from_int
    - val.to_bytes
    - val.bit_length
    - <builtin>.len
    - jwt.utils.base64url_encode
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_obj.public_numbers
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 513
    functionName: jwt.algorithms.RSAAlgorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers.private_key
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - <builtin>.any
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - <builtin>.len
    - obj.get
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers.public_key
    - json.loads
    - jwt.utils.from_base64url_uint
    - value.encode
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.all
    - int.from_bytes
    - base64.urlsafe_b64decode
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 52
    functionName: jwt.utils.from_base64url_uint
    functionSourceFile: jwt.utils
    functionUses: 1
    functionsReached:
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - value.encode
    - <builtin>.isinstance
    - <builtin>.len
    - int.from_bytes
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers.private_key
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers.public_key
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 584
    functionName: jwt.algorithms.RSAAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - key.sign
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.sign
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 588
    functionName: jwt.algorithms.RSAAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - key.verify
    - cryptography.hazmat.primitives.asymmetric.padding.PKCS1v15
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.verify
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf488bb0>
    argNames:
    - self
    - hash_alg
    - expected_curve
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 607
    functionName: jwt.algorithms.ECAlgorithm.__init__
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: jwt.algorithms.ECAlgorithm._validate_curve
    functionSourceFile: jwt.algorithms
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 626
    functionName: jwt.algorithms.ECAlgorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - value.encode
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_ssh_public_key
    - key_bytes.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - typing.cast
    - jwt.algorithms.ECAlgorithm._validate_curve
    - <builtin>.isinstance
    - jwt.algorithms.Algorithm.check_crypto_key_type
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 657
    functionName: jwt.algorithms.ECAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - key.sign
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    - jwt.utils.number_to_bytes
    - binascii.a2b_hex
    - jwt.utils.der_to_raw_signature
    - padded_hex.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - der_sig
    - curve
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 74
    functionName: jwt.utils.der_to_raw_signature
    functionSourceFile: jwt.utils
    functionUses: 1
    functionsReached:
    - padded_hex.encode
    - jwt.utils.number_to_bytes
    - binascii.a2b_hex
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 662
    functionName: jwt.algorithms.ECAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - jwt.utils.raw_to_der_signature
    - jwt.utils.bytes_to_number
    - public_key.verify
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    - binascii.b2a_hex
    - key.public_key
    - <builtin>.isinstance
    - <builtin>.len
    - <builtin>.bytes
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - raw_sig
    - curve
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: jwt.utils.raw_to_der_signature
    functionSourceFile: jwt.utils
    functionUses: 1
    functionsReached:
    - jwt.utils.bytes_to_number
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    - binascii.b2a_hex
    - <builtin>.len
    - <builtin>.bytes
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.public_key
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: public_key.verify
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms.ECAlgorithm
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf2f1eb0>
    argNames:
    - key_obj
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 688
    functionName: jwt.algorithms.ECAlgorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.bytes_from_int
    - val.to_bytes
    - key_obj.private_numbers
    - jwt.utils.to_base64url_uint
    - val.bit_length
    - json.dumps
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.utils.base64url_encode
    - base64.urlsafe_b64encode
    - key_obj.public_numbers
    - key_obj.public_key
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key_obj.public_key
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 0
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 732
    functionName: jwt.algorithms.ECAlgorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jwt.utils.base64url_decode
    - value.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - json.loads
    - cryptography.hazmat.primitives.asymmetric.ec.SECP256K1
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers.private_key
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.ec.SECP256R1
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.ec.SECP384R1
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.public_key
    - int.from_bytes
    - cryptography.hazmat.primitives.asymmetric.ec.SECP521R1
    - obj.get
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.SECP256R1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.SECP384R1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.SECP521R1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.SECP256K1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: int.from_bytes
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers.public_key
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers.private_key
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 810
    functionName: jwt.algorithms.RSAPSSAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - key.sign
    - cryptography.hazmat.primitives.asymmetric.padding.PSS
    - cryptography.hazmat.primitives.asymmetric.padding.MGF1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.padding.MGF1
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.padding.PSS
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 821
    functionName: jwt.algorithms.RSAPSSAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - key.verify
    - cryptography.hazmat.primitives.asymmetric.padding.PSS
    - cryptography.hazmat.primitives.asymmetric.padding.MGF1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 845
    functionName: jwt.algorithms.OKPAlgorithm.__init__
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 848
    functionName: jwt.algorithms.OKPAlgorithm.prepare_key
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_ssh_public_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - typing.cast
    - key.encode
    - <builtin>.isinstance
    - key.decode
    - jwt.algorithms.Algorithm.check_crypto_key_type
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 870
    functionName: jwt.algorithms.OKPAlgorithm.sign
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - key.sign
    - <builtin>.isinstance
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msg.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - msg
    - key
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 884
    functionName: jwt.algorithms.OKPAlgorithm.verify
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - public_key.verify
    - sig.encode
    - key.public_key
    - <builtin>.isinstance
    - msg.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sig.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.algorithms.OKPAlgorithm
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f50beeca850>
    argNames:
    - key
    - as_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 919
    functionName: jwt.algorithms.OKPAlgorithm.to_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - key.public_bytes
    - value.encode
    - json.dumps
    - key.public_key
    - <builtin>.isinstance
    - jwt.utils.base64url_encode
    - key.private_bytes
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.public_bytes
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.NoEncryption
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.private_bytes
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwk
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 966
    functionName: jwt.algorithms.OKPAlgorithm.from_jwk
    functionSourceFile: jwt.algorithms
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - value.encode
    - cryptography.hazmat.primitives.asymmetric.ed448.Ed448PublicKey.from_public_bytes
    - cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PublicKey.from_public_bytes
    - cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PrivateKey.from_private_bytes
    - json.loads
    - cryptography.hazmat.primitives.asymmetric.ed448.Ed448PrivateKey.from_private_bytes
    - <builtin>.isinstance
    - <builtin>.len
    - obj.get
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised:
    - InvalidKeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PublicKey.from_public_bytes
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ed448.Ed448PublicKey.from_public_bytes
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ed25519.Ed25519PrivateKey.from_private_bytes
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ed448.Ed448PrivateKey.from_private_bytes
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.types
    functionSourceFile: jwt.types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.exceptions
    functionSourceFile: jwt.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - claim
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: jwt.exceptions.MissingRequiredClaimError.__init__
    functionSourceFile: jwt.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: jwt.exceptions.MissingRequiredClaimError.__str__
    functionSourceFile: jwt.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jwt.utils
    functionSourceFile: jwt.utils
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.encode
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.urlsafe_b64decode
    functionSourceFile: base64
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.urlsafe_b64encode
    functionSourceFile: base64
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - val
    - bit_length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: jwt.utils.bytes_from_int
    functionSourceFile: jwt.utils
    functionUses: 3
    functionsReached:
    - val.bit_length
    - val.to_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - num
    - num_bytes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jwt.utils.number_to_bytes
    functionSourceFile: jwt.utils
    functionUses: 2
    functionsReached:
    - padded_hex.encode
    - binascii.a2b_hex
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: padded_hex.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.a2b_hex
    functionSourceFile: binascii
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jwt.utils.bytes_to_number
    functionSourceFile: jwt.utils
    functionUses: 2
    functionsReached:
    - binascii.b2a_hex
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.b2a_hex
    functionSourceFile: binascii
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.bit_length
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: val.to_bytes
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _PEM_RE.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jwt.api_jws
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached:
    - abc.ABC.__init__
    - <builtin>.set
    - jwt.algorithms.HMACAlgorithm.__init__
    - default_algorithms.update
    - jwt.api_jws.PyJWS.__init__
    - <builtin>.list
    - jwt.algorithms.get_default_algorithms
    - jwt.api_jws.PyJWS._get_default_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: jwt.api_jws.PyJWS._get_default_options
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - alg_id
    - alg_obj
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: jwt.api_jws.PyJWS.register_algorithm
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - TypeError
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alg_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 74
    functionName: jwt.api_jws.PyJWS.unregister_algorithm
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: jwt.api_jws.PyJWS.get_algorithms
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - alg_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: jwt.api_jws.PyJWS.get_algorithm_by_name
    functionSourceFile: jwt.api_jws
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 361
    functionName: jwt.api_jws.PyJWS._validate_headers
    functionSourceFile: jwt.api_jws
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - jwt.api_jws.PyJWS._validate_kid
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: segments.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alg_obj.prepare_key
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alg_obj.check_key_length
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alg_obj.sign
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded_string.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 285
    functionName: jwt.api_jws.PyJWS._load
    functionSourceFile: jwt.api_jws
    functionUses: 6
    functionsReached:
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - value.encode
    - jwt.rsplit
    - json.loads
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.encode
    - base64.urlsafe_b64decode
    - signing_input.split
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf2f8fd0>
    - <ast.Constant object at 0x7f50bf2f8940>
    argNames:
    - self
    - signing_input
    - header
    - signature
    - key
    - algorithms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: jwt.api_jws.PyJWS._verify_signature
    functionSourceFile: jwt.api_jws
    functionUses: 5
    functionsReached:
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - alg_obj.verify
    - alg_obj.prepare_key
    - alg_obj.check_key_length
    - <builtin>.isinstance
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - InvalidSignatureError
    - InvalidKeyError
    - InvalidAlgorithmError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f50bf392610>
    - <ast.Constant object at 0x7f50bf392d00>
    - <ast.Constant object at 0x7f50bf392eb0>
    - <ast.Constant object at 0x7f50bf392af0>
    argNames:
    - self
    - jwt
    - key
    - algorithms
    - options
    - detached_payload
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 252
    functionName: jwt.api_jws.PyJWS.decode
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.len
    - warnings.warn
    - alg_obj.verify
    - json.loads
    - <builtin>.tuple
    - value.encode
    - alg_obj.check_key_length
    - kwargs.keys
    - header.get
    - base64.urlsafe_b64decode
    - signing_input.split
    - jwt.api_jws.PyJWS._load
    - jwt.utils.force_bytes
    - jwt.api_jws.PyJWS.get_algorithm_by_name
    - jwt.utils.base64url_decode
    - jwt.rsplit
    - alg_obj.prepare_key
    - jwt.api_jws.PyJWS.decode_complete
    - jwt.encode
    - jwt.api_jws.PyJWS._verify_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 274
    functionName: jwt.api_jws.PyJWS.get_unverified_header
    functionSourceFile: jwt.api_jws
    functionUses: 0
    functionsReached:
    - jwt.utils.force_bytes
    - jwt.utils.base64url_decode
    - value.encode
    - jwt.rsplit
    - jwt.api_jws.PyJWS._validate_headers
    - signing_input.split
    - json.loads
    - <builtin>.isinstance
    - <builtin>.len
    - jwt.api_jws.PyJWS._validate_kid
    - jwt.encode
    - base64.urlsafe_b64decode
    - jwt.api_jws.PyJWS._load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.encode
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.rsplit
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signing_input.split
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: alg_obj.verify
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kid
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: jwt.api_jws.PyJWS._validate_kid
    functionSourceFile: jwt.api_jws
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - InvalidTokenError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.warnings
    functionSourceFile: jwt.warnings
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: jwt.help
    functionSourceFile: jwt.help
    functionUses: 0
    functionsReached:
    - platform.python_version
    - jwt.help.main
    - jwt.help.info
    - platform.release
    - json.dumps
    - platform.system
    - platform.python_implementation
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: jwt.help.info
    functionSourceFile: jwt.help
    functionUses: 2
    functionsReached:
    - platform.python_implementation
    - platform.python_version
    - platform.release
    - platform.system
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.system
    functionSourceFile: platform
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.release
    functionSourceFile: platform
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.python_implementation
    functionSourceFile: platform
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.python_version
    functionSourceFile: platform
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 60
    functionName: jwt.help.main
    functionSourceFile: jwt.help
    functionUses: 1
    functionsReached:
    - platform.python_version
    - jwt.help.info
    - platform.release
    - json.dumps
    - platform.system
    - platform.python_implementation
    - <builtin>.print
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_jwt':
  - 66
  - 67
  '...fuzz_jwt.TestOneInput':
  - 56
  - 57
  '...fuzz_jwt.main':
  - 61
  - 62
  - 63
  '...fuzz_jwt.test_decoding':
  - 26
  - 27
  - 28
  - 30
  '...fuzz_jwt.test_roundtrip':
  - 36
  - 37
  - 39
  - 43
  - 48
  - 49
  jwt.algorithms:
  - 104
  - 107
  - 408
  jwt.algorithms.Algorithm:
  - 192
  jwt.algorithms.Algorithm.check_crypto_key_type:
  - 236
  - 222
  - 231
  jwt.algorithms.Algorithm.check_key_length:
  - 292
  jwt.algorithms.Algorithm.compute_hash_digest:
  - 200
  - 206
  - 207
  - 210
  - 212
  - 213
  - 215
  - 216
  - 217
  - 219
  jwt.algorithms.Algorithm.from_jwk:
  - 287
  jwt.algorithms.Algorithm.prepare_key:
  - 246
  jwt.algorithms.Algorithm.sign:
  - 253
  jwt.algorithms.Algorithm.to_jwk:
  - 280
  - 275
  - 268
  jwt.algorithms.Algorithm.verify:
  - 260
  jwt.algorithms.ECAlgorithm:
  - 596
  jwt.algorithms.ECAlgorithm._validate_curve:
  - 616
  - 617
  - 620
  jwt.algorithms.ECAlgorithm.from_jwk:
  - 769
  - 770
  - 771
  - 776
  - 777
  - 778
  - 786
  - 787
  - 788
  - 792
  - 793
  - 795
  - 796
  - 801
  - 802
  - 734
  - 735
  - 736
  - 743
  - 746
  - 749
  - 750
  - 752
  - 755
  - 756
  - 757
  - 762
  - 763
  - 764
  jwt.algorithms.ECAlgorithm.prepare_key:
  - 640
  - 641
  - 643
  - 646
  - 647
  - 648
  - 651
  - 652
  - 653
  - 654
  - 627
  - 628
  - 631
  - 634
  jwt.algorithms.ECAlgorithm.sign:
  - 658
  - 660
  jwt.algorithms.ECAlgorithm.to_jwk:
  - 710
  - 681
  - 714
  - 685
  - 720
  - 689
  - 690
  - 691
  - 692
  - 721
  - 722
  - 726
  - 696
  - 729
  - 698
  - 700
  - 702
  jwt.algorithms.ECAlgorithm.verify:
  - 664
  - 674
  - 670
  - 671
  jwt.algorithms.HMACAlgorithm:
  - 330
  jwt.algorithms.HMACAlgorithm.check_key_length:
  - 392
  - 394
  - 396
  - 391
  jwt.algorithms.HMACAlgorithm.from_jwk:
  - 385
  - 388
  - 376
  - 377
  - 378
  jwt.algorithms.HMACAlgorithm.prepare_key:
  - 345
  - 343
  jwt.algorithms.HMACAlgorithm.sign:
  - 402
  jwt.algorithms.HMACAlgorithm.to_jwk:
  - 355
  - 359
  - 364
  - 368
  - 371
  jwt.algorithms.HMACAlgorithm.verify:
  - 405
  jwt.algorithms.NoneAlgorithm:
  - 300
  jwt.algorithms.NoneAlgorithm.prepare_key:
  - 306
  - 309
  jwt.algorithms.OKPAlgorithm:
  - 837
  jwt.algorithms.OKPAlgorithm.from_jwk:
  - 992
  - 993
  - 994
  - 995
  - 996
  - 968
  - 969
  - 970
  - 977
  - 980
  - 981
  - 984
  - 986
  - 989
  - 990
  - 991
  jwt.algorithms.OKPAlgorithm.prepare_key:
  - 867
  - 868
  - 849
  - 850
  - 853
  - 854
  - 857
  - 858
  - 859
  - 860
  - 861
  - 862
  jwt.algorithms.OKPAlgorithm.sign:
  - 880
  - 873
  - 881
  jwt.algorithms.OKPAlgorithm.to_jwk:
  - 928
  - 961
  - 933
  - 936
  - 938
  - 939
  - 942
  - 912
  - 945
  - 916
  - 950
  - 952
  - 920
  - 921
  - 953
  - 925
  - 958
  jwt.algorithms.OKPAlgorithm.verify:
  - 897
  - 898
  - 901
  - 902
  - 905
  - 887
  jwt.algorithms.RSAAlgorithm:
  - 411
  jwt.algorithms.RSAAlgorithm.check_key_length:
  - 427
  jwt.algorithms.RSAAlgorithm.from_jwk:
  - 515
  - 516
  - 517
  - 524
  - 527
  - 529
  - 536
  - 538
  - 543
  - 544
  - 545
  - 548
  - 549
  - 550
  - 551
  - 552
  - 553
  - 554
  - 555
  - 559
  - 560
  - 564
  - 568
  - 569
  - 570
  - 574
  - 575
  - 577
  - 578
  - 579
  jwt.algorithms.RSAAlgorithm.prepare_key:
  - 448
  - 450
  - 453
  - 454
  - 457
  - 458
  - 459
  - 436
  - 439
  - 442
  - 445
  - 446
  - 447
  jwt.algorithms.RSAAlgorithm.sign:
  - 585
  jwt.algorithms.RSAAlgorithm.to_jwk:
  - 484
  - 485
  - 486
  - 487
  - 488
  - 489
  - 490
  - 491
  - 494
  - 496
  - 467
  - 501
  - 502
  - 471
  - 507
  - 477
  - 510
  - 479
  jwt.algorithms.RSAAlgorithm.verify:
  - 590
  jwt.algorithms.RSAPSSAlgorithm:
  - 806
  jwt.algorithms.RSAPSSAlgorithm.sign:
  - 811
  - 813
  - 814
  - 815
  - 817
  jwt.algorithms.RSAPSSAlgorithm.verify:
  - 823
  - 826
  - 827
  - 828
  - 830
  jwt.algorithms.get_default_algorithms:
  - 162
  - 163
  - 164
  - 165
  - 168
  - 169
  - 158
  jwt.api_jwk.PyJWK.__init__:
  - 21
  - 31
  - 34
  - 35
  - 38
  - 39
  - 41
  - 43
  - 44
  - 45
  - 47
  - 49
  - 51
  - 55
  - 57
  - 59
  - 60
  - 62
  - 69
  - 76
  - 81
  jwt.api_jwk.PyJWK.from_dict:
  - 93
  - 85
  jwt.api_jwk.PyJWK.from_json:
  - 97
  - 106
  - 107
  jwt.api_jwk.PyJWK.key_id:
  - 123
  - 119
  jwt.api_jwk.PyJWK.key_type:
  - 115
  - 111
  jwt.api_jwk.PyJWK.public_key_use:
  - 131
  - 127
  jwt.api_jwk.PyJWKSet.__getitem__:
  - 169
  - 170
  jwt.api_jwk.PyJWKSet.__init__:
  - 138
  - 141
  - 144
  - 146
  - 148
  - 153
  jwt.api_jwk.PyJWKSet.__iter__:
  - 175
  jwt.api_jwk.PyJWKSet.from_dict:
  - 160
  - 161
  jwt.api_jwk.PyJWKSet.from_json:
  - 165
  - 166
  jwt.api_jwk.PyJWTSetWithTimestamp.__init__:
  - 181
  jwt.api_jws:
  - 26
  - 370
  jwt.api_jws.PyJWS.__init__:
  - 39
  - 41
  - 45
  - 46
  - 49
  - 50
  jwt.api_jws.PyJWS._load:
  - 289
  - 293
  - 294
  - 299
  - 304
  - 308
  - 312
  - 317
  - 286
  - 287
  jwt.api_jws.PyJWS._validate_headers:
  - 362
  - 363
  jwt.api_jws.PyJWS._validate_kid:
  - 366
  jwt.api_jws.PyJWS._verify_signature:
  - 352
  - 353
  - 356
  - 358
  - 331
  - 338
  - 341
  - 346
  - 349
  - 351
  jwt.api_jws.PyJWS.decode:
  - 265
  - 269
  - 261
  - 262
  jwt.api_jws.PyJWS.decode_complete:
  - 228
  - 233
  - 235
  - 236
  - 241
  - 243
  - 212
  - 213
  - 244
  - 216
  - 221
  jwt.api_jws.PyJWS.encode:
  - 131
  - 132
  - 140
  - 141
  - 142
  - 145
  - 146
  - 152
  - 153
  - 154
  - 156
  - 159
  - 161
  - 165
  - 169
  - 171
  - 174
  - 175
  - 178
  - 180
  - 181
  - 183
  - 185
  - 186
  - 187
  - 190
  - 192
  - 194
  - 197
  - 199
  - 201
  jwt.api_jws.PyJWS.get_algorithm_by_name:
  - 112
  - 98
  jwt.api_jws.PyJWS.get_algorithms:
  - 90
  - 95
  jwt.api_jws.PyJWS.get_unverified_header:
  - 280
  - 281
  - 275
  jwt.api_jws.PyJWS.register_algorithm:
  - 72
  - 65
  - 58
  - 68
  jwt.api_jws.PyJWS.unregister_algorithm:
  - 80
  - 75
  - 87
  jwt.api_jwt:
  - 592
  - 25
  - 28
  - 38
  jwt.api_jwt.PyJWT.__init__:
  - 51
  - 52
  - 53
  - 55
  jwt.api_jwt.PyJWT._decode_payload:
  - 299
  - 291
  - 302
  jwt.api_jwt.PyJWT._encode_payload:
  - 168
  - 174
  jwt.api_jwt.PyJWT._get_sig_options:
  - 76
  jwt.api_jwt.PyJWT._merge_options:
  - 82
  - 86
  - 87
  - 88
  - 89
  - 90
  - 91
  - 92
  - 93
  jwt.api_jwt.PyJWT._validate_aud:
  - 545
  - 548
  - 553
  - 523
  - 524
  - 555
  - 557
  - 560
  - 530
  - 563
  - 539
  - 541
  jwt.api_jwt.PyJWT._validate_claims:
  - 394
  - 395
  - 397
  - 400
  - 402
  - 404
  - 405
  - 407
  - 408
  - 410
  - 411
  - 413
  - 414
  - 416
  - 417
  - 418
  - 421
  - 422
  - 424
  - 425
  jwt.api_jwt.PyJWT._validate_exp:
  - 513
  - 507
  jwt.api_jwt.PyJWT._validate_iat:
  - 483
  - 478
  jwt.api_jwt.PyJWT._validate_iss:
  - 576
  - 579
  - 580
  - 584
  - 569
  - 572
  jwt.api_jwt.PyJWT._validate_jti:
  - 465
  - 458
  - 468
  jwt.api_jwt.PyJWT._validate_nbf:
  - 497
  - 493
  jwt.api_jwt.PyJWT._validate_required_claims:
  - 432
  - 433
  jwt.api_jwt.PyJWT._validate_sub:
  - 450
  - 453
  - 454
  - 439
  - 447
  jwt.api_jwt.PyJWT.decode:
  - 325
  - 363
  - 364
  - 367
  - 371
  - 383
  jwt.api_jwt.PyJWT.decode_complete:
  - 199
  - 263
  - 268
  - 237
  - 238
  - 241
  - 276
  - 246
  - 278
  - 249
  - 254
  - 255
  jwt.api_jwt.PyJWT.encode:
  - 130
  - 105
  - 137
  - 138
  - 140
  - 141
  - 144
  - 147
  - 153
  jwt.exceptions.DecodeError:
  - 16
  jwt.exceptions.ExpiredSignatureError:
  - 29
  jwt.exceptions.ImmatureSignatureError:
  - 54
  jwt.exceptions.InvalidAlgorithmError:
  - 66
  jwt.exceptions.InvalidAudienceError:
  - 35
  jwt.exceptions.InvalidIssuedAtError:
  - 48
  jwt.exceptions.InvalidIssuerError:
  - 42
  jwt.exceptions.InvalidJTIError:
  - 111
  jwt.exceptions.InvalidKeyError:
  - 60
  jwt.exceptions.InvalidSignatureError:
  - 22
  jwt.exceptions.InvalidSubjectError:
  - 105
  jwt.exceptions.InvalidTokenError:
  - 10
  jwt.exceptions.MissingCryptographyError:
  - 87
  jwt.exceptions.MissingRequiredClaimError:
  - 72
  jwt.exceptions.PyJWTError:
  - 2
  jwt.help:
  - 65
  - 66
  jwt.help.info:
  - 32
  - 39
  - 40
  - 16
  - 22
  - 23
  - 28
  - 30
  - 31
  jwt.help.main:
  - 61
  - 62
  jwt.jwk_set_cache.JWKSetCache.get:
  - 20
  - 23
  jwt.jwk_set_cache.JWKSetCache.is_expired:
  - 29
  - 30
  jwt.jwk_set_cache.JWKSetCache.put:
  - 13
  - 14
  jwt.jwks_client.PyJWKClient.__init__:
  - 70
  - 78
  - 81
  - 85
  - 89
  - 91
  - 28
  jwt.jwks_client.PyJWKClient.fetch_data:
  - 96
  - 107
  - 108
  - 111
  - 119
  - 120
  jwt.jwks_client.PyJWKClient.get_jwk_set:
  - 134
  - 135
  - 137
  - 138
  - 140
  - 143
  - 123
  jwt.jwks_client.PyJWKClient.get_signing_key:
  - 171
  - 183
  - 184
  - 186
  - 188
  - 189
  - 191
  jwt.jwks_client.PyJWKClient.get_signing_key_from_jwt:
  - 209
  - 211
  - 199
  jwt.jwks_client.PyJWKClient.get_signing_keys:
  - 146
  - 165
  - 158
  jwt.jwks_client.PyJWKClient.match_kid:
  - 226
  - 227
  - 215
  jwt.types.Options:
  - 33
  - 37
  - 39
  - 41
  - 43
  - 45
  - 47
  - 49
  - 19
  - 51
  - 53
  - 31
  jwt.types.SigOptions:
  - 9
  - 13
  - 15
  jwt.utils:
  - 116
  - 118
  jwt.utils.base64url_decode:
  - 33
  - 26
  - 28
  - 30
  jwt.utils.base64url_encode:
  - 37
  jwt.utils.bytes_from_int:
  - 67
  - 68
  - 71
  jwt.utils.bytes_to_number:
  - 63
  jwt.utils.der_to_raw_signature:
  - 80
  - 78
  jwt.utils.force_bytes:
  - 17
  - 18
  - 19
  jwt.utils.from_base64url_uint:
  - 53
  - 54
  jwt.utils.is_pem_format:
  - 127
  jwt.utils.is_ssh_key:
  - 142
  jwt.utils.number_to_bytes:
  - 59
  jwt.utils.raw_to_der_signature:
  - 90
  - 91
  - 93
  - 87
  jwt.utils.to_base64url_uint:
  - 41
  - 44
  - 46
  - 49
  jwt.warnings.InsecureKeyLengthWarning:
  - 8
  jwt.warnings.RemovedInPyjwt3Warning:
  - 2
Fuzzer filename: /src/fuzz_jwt.py
Inheritance:
  jwt.algorithms.Algorithm:
  - ABC
  jwt.algorithms.ECAlgorithm:
  - Algorithm
  jwt.algorithms.HMACAlgorithm:
  - Algorithm
  jwt.algorithms.NoneAlgorithm:
  - Algorithm
  jwt.algorithms.OKPAlgorithm:
  - Algorithm
  jwt.algorithms.RSAAlgorithm:
  - Algorithm
  jwt.algorithms.RSAPSSAlgorithm:
  - RSAAlgorithm
  jwt.api_jwk.PyJWK: []
  jwt.api_jwk.PyJWKSet: []
  jwt.api_jwk.PyJWTSetWithTimestamp: []
  jwt.api_jws.PyJWS: []
  jwt.api_jwt.PyJWT: []
  jwt.exceptions.DecodeError:
  - InvalidTokenError
  jwt.exceptions.ExpiredSignatureError:
  - InvalidTokenError
  jwt.exceptions.ImmatureSignatureError:
  - InvalidTokenError
  jwt.exceptions.InvalidAlgorithmError:
  - InvalidTokenError
  jwt.exceptions.InvalidAudienceError:
  - InvalidTokenError
  jwt.exceptions.InvalidIssuedAtError:
  - InvalidTokenError
  jwt.exceptions.InvalidIssuerError:
  - InvalidTokenError
  jwt.exceptions.InvalidJTIError:
  - InvalidTokenError
  jwt.exceptions.InvalidKeyError:
  - PyJWTError
  jwt.exceptions.InvalidSignatureError:
  - DecodeError
  jwt.exceptions.InvalidSubjectError:
  - InvalidTokenError
  jwt.exceptions.InvalidTokenError:
  - PyJWTError
  jwt.exceptions.MissingCryptographyError:
  - PyJWKError
  jwt.exceptions.MissingRequiredClaimError:
  - InvalidTokenError
  jwt.exceptions.PyJWKClientConnectionError:
  - PyJWKClientError
  jwt.exceptions.PyJWKClientError:
  - PyJWTError
  jwt.exceptions.PyJWKError:
  - PyJWTError
  jwt.exceptions.PyJWKSetError:
  - PyJWTError
  jwt.exceptions.PyJWTError:
  - Exception
  jwt.jwk_set_cache.JWKSetCache: []
  jwt.jwks_client.PyJWKClient: []
  jwt.types.FullOptions:
  - TypedDict
  jwt.types.Options:
  - TypedDict
  jwt.types.SigOptions:
  - TypedDict
  jwt.warnings.InsecureKeyLengthWarning:
  - UserWarning
  jwt.warnings.RemovedInPyjwt3Warning:
  - DeprecationWarning
ep:
  func_name: TestOneInput
  module: '...fuzz_jwt'
